1.PENGERTIAN INHERITANCE
Inheritance atau Pewarisan/Penurunan adalah konsep pemrograman dimana sebuah class dapat menurunkan property dan method yang dimilikinya pada class lain. Konsep inheritance digunakan untuk memanfaatkan fitur 'code reuse' untuk menghindari duplikasi kode program. Konsep inheritance membuat sebuah struktur atau ‘hierarchy’ class dalam kode program. Class yang akan ‘diturunkan’ bisa disebut sebagai class induk (parent class), super class, atau base class. Sedangkan class yang ‘menerima penurunan’ bisa disebut sebagai class anak (child class), sub class, derived class atau heir class.
2.CONTOH KASUS YANG MENERAPKAN KONSEP INHERITANCE
Di dalam Java untuk mendeklarasikan suatu class sebagai subclass dilakukan dengan cara menambahkan kata kunci extends setelah deklarasi nama class, kemudian diikuti dengan nama parent class-nya. Kata kunci extends tersebut memberitahu kompiler Java bahwa kita ingin melakukan perluasan class. Berikut adalah contoh deklarasi inheritance. Contoh :
Dalam konsep dasar inheritance dikatakan bahwa satu subclass adalah tidak lain hanya memperluas (extend) parent class-nya. Contoh :
Pengaksesan member yang ada di parent class dari subclass-nya tidak jauh berbeda dengan pengaksesan member subclass itu sendiri. Contoh :
Ketika class Manager menurunkan class Pegawai maka class Manajer mewarisi data member yang dimiliki oleh class Pegawai yang terdiri dari nama gaji, lalu ditambahkan dengan data member yang dimiliki (departemen). Pengaksesan member yang ada di parent class dari subclass-nya tidak jauh berbeda dengan pengaksesan member subclass itu sendiri.
C. SINGLE LEVEL INHERITANCE
Konsep inheritance yang ada di Java hanya memperkenankan adanya single inheritance, yaitu suatu subclass hanya dapat mempunyai satu parent class. Dengan kata lain, suatu class hanya dapat meng-extend satu class saja. Jika dibutuhkan adanya multiple inheritance (satu class memiliki lebih dari satu parent class) maka solusinya dapat menggunakan interface.
D. MULTI LEVEL INHERITANCE
Konsep inheritance yang ada di Java juga memperkenankan adanya Multi Level Inheritance. Konsep multi level inheritance memperbolehkan suatu subclass memiliki subclass lagi.