Pada bahasan kali ini saya akan membahas tentang inheritance dan polimorfisme. Pada dasarnya pelajaran inheritance dan polimorfisme kita pernah mempelajarinya pada semester lalu, tetapi mungkin banyak yang kurang tahu atau mungkin tidak tahu, apa sih inheritance dan polimorfisme itu...
Terlebih dahulu saya akan membahas tentang apa itu inheritance selanjutnya polimorfisme lalu saya akan memberikan contoh programnya. Selamat mempelajari ...
Pengertian inheritance
Sebagai manusia kita sebenarnya terbiasa untuk melihat objek yang berada disekitar kita tersusun secara hierarki berdasarkan class-nya masing-masing. Dari sini kemudian timbul suatu konsep tentang pewarisan yang merupakan suatu proses dimana suatu class diturunkan dari class lainnya sehingga ia mendapatkkan cirri atau sifat dari class tersebut.
Dari hirarki diatas dapat dilihat bahwa, semakin kebawah, class akan semakin bersifat spesifik. Class mamalia memiliki seluruh sifat yang dimiliki oleh binatang, demikian halnya juga Anjing, kucing dan Monyet memiliki seluruh sifat yang diturunkan dari class mamalia. Dengan konsep ini, karakteristik yang dimiliki oleh class binatang cukup didefinisikan didefinisikan dalam class binatang saja. Class mamalia tidak perlu mendefinisikan ulang apa yang telah dimiliki oleh class binatang, karena sebagai class turunannya, ia akan mendapatkan karakteristik dari class binatang secara otomatis. Demikian juga dengan class anjing, kucing dan monyet, hanya perlu mendefinisikan karakteristik yang spesifik dimiliki oleh class-nya masing-masing. Dengan memanfaatkan konsep pewarisan ini dalam pemrograman, maka hanya perlu mendefinisikan karakteristik yang lebih umum akan didapatkan dari class darimana ia diturunkan.
Inheritance (pewarisan) proses pewarisan data dan method dari suatu kelas kepada kelas lain. Pewarisan bersifat menyeluruh. Semua data dan method milik kelas asalnya diturunkan ke kelas baru. Kelas yang mewariskan Super Class atau Kelas Induk. Kelas yang diwariskan Sub Class atau Kelas Anak.
Contoh program inheritance :
class Induk {
private String var1; //hak akses private berarti tidak dapat diakses oleh kls
anak
public int var2; //hak akses public berarti dapat diakses oleh kls anak
//konstruktor
Induk (){
}
//method
public void cetakData() {
}
}
class Anak extends Induk{
private String dataAnak; //variabel
//konstruktor
Anak () {
}
public void cetak() {
cetakData();//method milik Induk
// ada jg yang memanggil dgn super.cetakData()
}
}
class DemoPewarisan {
public static void main(String args[]) {
Anak anak = new Anak();
anak.cetak();
anak.cetakData();
System.out.println("Demo Pewarisan");
System.out.println("isi var 2="+anak.var2);
}
}
Output :
Logika :
Pada logika pada progam inheritance dan polimorfisme ini kita dapat menemukan perbedaan pada masing - masing program. Inheritance (Pewarisan) merupakan salah satu dari tiga konsep dasar OOP. Konsep inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek dapat mempunyai entitas/obyek turunan. Dengan konsep inheritance, sebuah class dapat mempunyai class turunan.
Yang pertama adalah class Induk { itu digunakan untuk mennjukan kelas yang akan dipakai pada program tersebut.lalu private String var1; dan public int var2; digunakan untuk memberikan suatu ruan public dalam kelas di dalam suatu variabel. Selanjutnya class Anak extends Induk yang digunakan untuk membedakan suatu program yang terdapat di inheritance. Dan pada program inheritance dapat ditemukan suatu keuntungan jika memakai program tersebut.
Keuntungan Pewarisan :
Tidak harus menyalin semua data dan method dari suatu kelas jika akan menggunakannya lagi
Untuk memodifikasi suatu data atau method untuk semua subkelas / kelas anak, maka tidak perlu melakukan perubahan di masing-masing kelas anak melainkan hanya pada kelas induk saja.
Pengertian polimorfisme
Polymorphism berasal dari bahasa Yunani yang berarti banyak bentuk. Dalam PBO, konsep ini memungkinkan digunakannya suatu interface yang sama untuk memerintah objek agar melakukan aksi atau tindakan yang mungkin secara prinsip sama namun secara proses berbeda. Dalam konsep yang lebih umum sering kali polymorphism disebut dalam istilah satu interface banyak aksi.
Polimorfisme sesuatu yang memiliki banyak bentuk. Dalam pemrograman, polimorfisme dapat diartikan sebagai modul yang memiliki nama sama, namun memiliki behaviour (tingkah laku) yang berbeda sehingga listing code implementasinya juga berbeda.
Contoh program polimorfisme :
Output :
Logika :
Kata kunci pada program polimorfisme adalah munculnya method – method yang terdapat pada program. Untuk mencegah suatu method agar tidak dapat di override oleh kelas – kelas turunan. Contohnya pada method public void bersuara() { //overriding method. Method – method semacam ini biasanya bersifat pasti. Artinya, kelas turunan sudah tidak perlu mengimplementasikan lagi isi dari method tersebut.
Demikianlah apa itu yang disebut inheritance dan polimorfisme dalam versi saya. Bagaimana dengan versi anda ?
Sumber :
http://dewiqsweets.blogspot.com/2009/06/pengertian-inheritance-pewarisan-dan.html
http://novyta.blogspot.com/2009/06/pengertian-inheritance-beserta-contoh.html