Sabtu, 26 Maret 2016

9.1 Inheritance Hierarchies

Dalam desain berorientasi objek, inheritance merupakan hubungan antara kelas yang lebih umum (superclass) dan kelas yang lebih khusus (subclass). Subclass mewarisi data dan perilaku kelas supernya.
Contoh dalam kehidupan nyata yaitu  mobil. Mobil berbagi ciri-ciri umum dari semua kendaraan, misalnya memiliki kemampuan untuk mengangkut orang dari satu tempat ke tempat lain. Katakanlah mengatakan bahwa class mobil mewarisi dari class kendaraan. Dalam hubungan ini, kelas kendaraan merupakan superclass dan kelas Mobil merupakan subclass.
Bila kita menggunakan inheritance dalam program program yang kita buat, kita dapat menggunakan kembali kode duplikasi itu. Penggunaan kembali ini ini datang dalam dua bentuk. Pertama, subclass mewarisi metode dari superclass. Sebagai contoh, jika kelas Kendaraan memiliki metode drive, maka mobil subclass otomatis mewarisi metode. Ini tidak perlu digandakan.
Bentuk kedua dari penggunaan kembali ini lebih mudah. Anda dapat menggunakan kembali algoritma yang memanipulasi objek Vehicle. Karena mobil adalah jenis dari suatu kendaraan, maka kita dapat menggunakan Mobil di dalam algoritma tersebut, hal itu akan menjadikan program berjalan dengan benar.
Karena mobil merupakan subclass dari Kendaraan, Anda dapat memanggil metode dengan objek Car: Mobil MyCar = Mobil baru; (...) processVehicle (MyCar); Mengapa memberikan metode yang memproses Kendaraan benda bukan benda Car? Metode yang lebih berguna karena dapat menangani segala jenis kendaraan (termasuk truk dan objek Motor).
Bab ini, kita akan mempertimbangkan hirarki sederhana dari kelas. Akar dari hirarki ini merupakan jenis pertanyaan. Sebuah pertanyaan dapat menampilkan teks, dan itu dapat memeriksa apakah respon yang diberikan adalah jawaban yang benar.

Pada bagian berikut, Anda akan melihat bagaimana membentuk subclass dari kelas Pertanyaan. Berikut adalah program tes sederhana untuk Question class:


sumber: Big Java, Early Objects, Fifth Edision (Cay Horstmann)

Tidak ada komentar:

Posting Komentar