Inheritance (Pewarisan) merupakan salah satu dari tiga konsep dasar OOP, Inheritance merupakan penurunan sifat super class(induk) kepada subclass(anak). Konsep inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek dapat mempunyai entitas/obyek turunan. Dengan konsep inheritance, sebuah class dapat mempunyai class turunan. Suatu class yang mempunyai class turunan dinamakan parent class atau base class. Sedangkan class turunan itu sendiri seringkali disebut subclass atau child class. Suatu subclass dapat mewarisi apa-apa yang dipunyai oleh parent class.
Contoh Inheritance :
public class Mamalia {
public void sifat(){
System.out.println(“Menyusui dan Beranak”);
}
public void tempatHidup(){
System.out.println(“?????”);
}
}
public class Karnivora extends Mamalia {
public void makanan(){
System.out.println(“Makanan Daging”);
}
public void suara(){
System.out.println(“?????”);
}
}
public class Anjing extends Karnivora {
private int Kaki=4;
private String Suara = “Guuuuk”;
public void jumlahKaki(){
System.out.println(“Jumlah Kaki = “+this.Kaki);
}
//Override Mamalia
public void tempatHidup(){
System.out.println(“Tempat Hidup di Darat”);
}
//Override Karnivora
public void suara(){
System.out.println(“Suara Anjing “+this.Suara);
}
public void suara(int keadaan){
if(keadaan == 1){
System.out.println(“Suara Anjing = “+this.Suara);
}else if(keadaan ==2){
System.out.println(“Suara Anjing = ZZZZzzzzzzz…zzzzz”);
}else if(keadaan == 3){
System.out.println(“Suara Anjing = Kaing…kaing”);
}
}
}
Dari Kode diatas dapat dijelaskan
Mamalia adalah super class dari Class Karnivora
Mamalia adalah super class dari Class Anjing
Karnivora adalah subclass dari Class Mamalia
Karnivora adalah superclass dari class Anjing
Anjing adalah subclass dari class Karnivora
Anjing adalah subclass dari Class Mamalia

