Kamis, 19 April 2012

INHERITANCE DAN POLIMORFISME


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 :

/* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Calibri","sans-serif"; mso-bidi-font-family:"Times New Roman";} 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); } } /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} Output : /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Calibri","sans-serif"; mso-bidi-font-family:"Times New Roman";} 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 : Bersifat reusable Tidak harus menyalin semua data dan method dari suatu kelas jika akan menggunakannya lagi Kemudahan dalam me-manage kelas yang memiliki data dan method yang sama. 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 : /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Calibri","sans-serif"; mso-bidi-font-family:"Times New Roman";} Output : /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Calibri","sans-serif"; mso-bidi-font-family:"Times New Roman";} 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.

Link : http://ayufitriyanti.blogspot.com/ 

Tidak ada komentar:

Posting Komentar