1. Paus dan sapi
Inilah fakta zoologi yang menarik: seekor sapi lebih dekat dengan paus daripada, misalnya, dengan kuda nil. Ternyata sapi dan paus adalah kerabat yang relatif dekat.

Lihat disini. Mari beri tahu Anda tentang polimorfisme — alat OOP lain yang sangat ampuh . Ini memiliki empat fitur.
2. Warisan bukanlah obat mujarab
Bayangkan Anda telah menulis Cow
kelas untuk sebuah game. Ini memiliki banyak bidang dan metode. Objek kelas ini dapat melakukan berbagai hal: berjalan, makan, dan tidur. Sapi juga memakai lonceng yang berbunyi saat mereka berjalan. Misalkan Anda telah mengimplementasikan semua yang ada di kelas hingga detail terkecil.
Dan kemudian klien Anda datang dan mengatakan dia ingin merilis level permainan baru, di mana semua aksi terjadi di laut, dan karakter utamanya adalah ikan paus.
Anda mulai mendesain Whale
kelas dan menyadari bahwa itu hanya sedikit berbeda dari Cow
kelas. Logika kedua kelas sangat mirip dan Anda memutuskan untuk menggunakan pewarisan.

Kelas Cow
sangat ideal untuk mengambil peran kelas induk: ia memiliki semua variabel dan metode yang diperlukan. Yang perlu kita lakukan hanyalah memberi paus kemampuan untuk berenang. Tapi ada masalah: paus Anda memiliki kaki, tanduk, dan lonceng. Bagaimanapun, fungsi ini diimplementasikan di dalam Cow
kelas. Apa yang bisa dilakukan di sini?

3. Penggantian metode
Metode overriding datang untuk menyelamatkan kita. Jika kita mewarisi metode yang tidak melakukan apa yang kita inginkan di kelas baru kita, kita bisa mengganti metode itu dengan yang lain.

Bagaimana ini dilakukan? Di kelas turunan kami, kami mendeklarasikan metode yang sama dengan metode kelas induk yang ingin kami timpa. Kami menulis kode baru kami di dalamnya. Dan begitulah — seolah-olah metode lama di kelas induk sama sekali tidak ada.
Begini Cara kerjanya:
Kode | Keterangan |
---|---|
|
|
|
Kode ini menampilkan teks berikut di layar:
|
|
Kode ini menampilkan yang berikut di layar:
|
Setelah mewarisi Cow
kelas dan mengganti printName
metode, Whale
kelas sebenarnya berisi data dan metode berikut:
|
Kami tidak tahu tentang metode lama. |
GO TO FULL VERSION