Mengapa mengunakan inheritance? Ada dua alasan yang paling mendasar:
1. Untuk menggunakan kembali kode yang sudah ada
2. Untuk memanfaatkan polymorphism (kita lihat di post selanjutnya)
Mari kita lihat alasan pertama. Cara untuk mewarisi suatu kelas adalah dengan menggunakan keyword extends.
class Hewan {
public void makan() {
//kode yang amat sangat panjang dan rumit
System.out.println(“Makan”);
}
}
class Bebek extends Hewan {
public void barisBerbaris() {
System.out.println(“Siap grak!”);
}
}
public class Peternakan {
public static void main (String[] args) {
Bebek bebekKloset = new Bebek();
bebekKloset.barisBerbaris();
bebekKloset.makan();
}
}
Output dari program di atas adalah:
Siap grak!
Makan
Jadi, dalam pewarisan (inheritance) semua method dari kelas super dapat digunakan oleh kelas yang mewarisi tanpa perlu menulis method-method tersebut lagi.
Secara default, semua kelas di Java mewarisi kelas Object, itu adalah cara Java untuk memasukkan method-method yang sering dipakai agar tidak perlu dibuat lagi oleh programmer, contoh: toString(), equals(), dan lain-lain.
Pada Java, satu kelas tidak dapat mewarisi lebih dari satu kelas dalam satu keturunan (multiple inheritance). Jadi kita tidak bisa mendeklarasikan:
public class Bebek extends Hewan, Makanan
Tapi kita bisa mendeklarasikan sebagai berikut:
class Hewan extends MakhlukHidup
kemudian
class Bebek extends Hewan.
dalam kasus ini, Bebek mempunyai method dari class Bebek, Hewan dan MakhlukHidup.
Sekian tentang inheritance, post selanjutnya akan membahas tentang polymorpism.