Inheritance


Inheritance (Pewarisan)
Pengertian dasar inheritance
Inheritance (Pewarisan) merupakan salah satu dari tiga konsep dasar OOP. 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.

Karena suatu subclass dapat mewarisi apa-apa yang dipunyai oleh parent class-nya, maka member dari suatu subclass adalah terdiri dari apa-apa yang ia punyai dan juga apa-apa yang ia warisi dari class parent-nya. Kesimpulannya, boleh dikatakan bahwa suatu subclass adalah tidak lain hanya memperluas (extend) parent class-nya. 

Deklarasi inheritance
Di dalam Java untuk mendeklarasikan suatu class sebagai subclass cukup mudah, yaitu dengan 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 : –> class B adalah subclass dari class A
public class B extends A {

}
Semua class di dalam Java adalah merupakan subclass dari class super induk yang bernama Object. Misalnya saja kita mempunyai sebuah class sederhana :
public class A{
….
}
Pada saat dikompilasi, Kompiler Java akan membacanya sebagai subclass dari class Object.
public class A extends Object{
….
}


Contoh program inheritance
Listing Program - Hewan.java
public class Hewan{
private String tipe;
    public Hewan(String tipe)
    {
    this.tipe = tipe;
    }
    public String toString ()
    {
        return "ini adalah " +tipe ;
}
public void bersuara (){};
}

Lalu kita mendefinisikan Vlass Ayam dan Kucing yang menjadi turunan Class Hewan.

Listing Program - Ayam.java

public class Ayam extends Hewan
{
private String nama ;
private String jenis ;
public Ayam(String nama)
    {
super ("Ayam");
this.nama = nama;
this.jenis = "Tidak diketahui";
    }
public Ayam (String nama, String jenis)
    {
    super ("Ayam");
this.nama = nama;
this.jenis = jenis;
}
public String toString ()
    {
    return super.toString ()+"\nIni adalah "+jenis+"bernama "+nama;
    }
    public void bersuara()
    {
        System.out.println("Kukuruyuuuk petok petok");
    }
}

Listing Program - Kucing.java

public class Kucing extends Hewan
{
private String nama ;
private String jenis ;
public Kucing(String nama)
    {
super ("Kucing");
this.nama = nama;
this.jenis = "Tidak diketahui";
    }
public Kucing (String nama, String jenis)
    {
    super ("Kucing");
this.nama = nama;
this.jenis = jenis;
}
public String toString ()
    {
    return super.toString ()+"\nJenis kucing ini adalah "+jenis+"bernama "+nama;
    }
    public void bersuara()
    {
        System.out.println("Meooong Meooooong");
    }
}



Related Posts: