Kamis, 19 April 2012

Inheritance dan Polimorfisme

          Pada postingan saya kali ini, saya akan melanjutkan pembahasan konsep-konsep pada pemrograman berbasis objek. Yang postingan saya sebelumnya telah membahas tentang Enkapsulasi, kali ini tentang sifat Inheritance dan Polimorfisme yang akan saya bahas. Berikut penjabarannya :

Pengertian

 # Inheritance

 Inheritance atau dalam bahasa indonesianya adalah pewarisan, ini adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data atau atribut dan metode dari induknya langsung. Secara default inheritance bersifat menyeluruh sehingga semua data dan method diturunkan kepada class yang baru. Kelas yang mewariskan disebut dengan super class sedangkan class turunan disebut dengan sub class. 


#Polimorfisme

 Polimorfisme yaitu konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku berbeda. Polimorfisme mempunyai arti bahwa operasi yang sama mungkin mempunyai perbedaan dalam kelas yang berbeda. Misalnya kita mempunyai class "persegi" dan "lingkaran" , dimana class-class tersebut merupakan turunan dari class "bangun 2D". Jika kita ingin memperbesar ukuran dari persegi kita harus memperbesar sisinya, sedangkan pada lingkaran kita harus memperbesar jari-jarinya. Inilah yang dimaksud dari konsepnya sama-sama ingin memperbesar ukuran namun cara/ perilaku yang digunakan berbeda.



Berikut contoh programnyaa :
 Pertama kita buat class orang

 class Orang { protected String name; protected String address;

 / ** konstruktor tanpa parameter **/
 public Orang() {
 System.out.println("konstruktor dalam kelas Orang");
 name = ""; address = ""; }

 /** konstruktor dengan parameter nama, address **/
 public Orang(String name, String address) {
 this.name = name;
 this.address = address;
 }

 /** method accessor **/
 public String getAddress() {
 return address;
 }
 public void setAddress(String address) {
 this.address = address;
 }
 public String getName() {
 System.out.println("Nama orang : " + name);
 return name;
 }

 public void setName(String name) {
 this.name = name;
 }}

 Lalu kita buat lagi subclass dari class orang yaitu dengan keyword extends

 class Manager extends Orang {
 Manager(String name, String address) {
 super(name, address);
 }

 public String getName() {
 System.out.println("Nama Manager : " + name);
 return name;
 } }

 class Direktur extends Orang {
 Direktur(String name, String address) {
 super(name, address);
 }
 public String getName(){
 System.out.println("Nama Direktur : " + name);
 return name;
 } }

 Setelah itu kita buat main programnya :
 public class TestApp {
 public static void main(String[] args) {
 Orang ref;
 Manager objManager = new Manager("Bambang", "Rudi");
 Direktur objDirektur = new Direktur("Sudibyo", "Ramli");

 /** class orang merujuk kepada objek manager **/
 ref = objManager;
 ref.getName();

 /** class orang merujuk kepada objek direktur **/
 ref = objDirektur; ref.getName();
 } }

 Setelah itu save, lalu setelah dicompile dan kemudian di running, maka outputnya seperti dibawah ini : 






Program diatas adalah program yang berisi tentang konsep polimerfisme, yang dimana setiap program polimerfisme juga terdapat konsep Inheritance atau pewarisan yang ditandai dengan extends.

 Sekiiann :D

 My Partner : Mateus Eko Prasetyo 


Sumber : http://e12a.wordpress.com/2008/12/30/polimorfisme-dalam-java/            http://7seasons.wordpress.com/2010/10/09/inheritance-dalam-java/

Tidak ada komentar:

Posting Komentar