Inheritance / Pewarisan pada java

Inheritance/Pewarisan merupakan proses pewarisan kelas induk kepada turunannya, sehingga apabila turunan membutuhkan method dan data, hanya perlu menambahkannya, tidak perlu mendeklarasikan yang sudah dimiliki oleh kelas induk

Berikut Contoh Inheritance
Inheritance yang salah:
class Mamalia{
String nama;
String jenis;
int umur;

private Mamalia(String nama, String jenis, int umur){
this.nama = nama;
this.jenis = jenis;
this.umur = umur;
}

private String Bernafas(){
return "Hewan ini Bernafas menggunakan paru-paru";
}

private String Menyusui(){
return "Hewan ini Menyusui anaknya";
}

private String Daging(){
return "Hewan ini pemakan daging";
}

private String Tumbuhan(){
return "Hewan ini pemakan tumbuhan";
}

public String Info(){
return "Nama : "+this.nama+"\nJenis : "+this.jenis+"\nUmur : "+this.umur+" Bulan";
}
}


class Darat extends Mamalia{
public Darat(String nama, String jenis, int umur){
super(nama,jenis,umur);
}
}

public class HewanDarat{
public static void main(String[] args) {
System.out.println();
Darat meong = new Darat("Kucing","Persia",4);
System.out.println(meong.Info());
System.out.println(meong.Bernafas());
System.out.println(meong.Menyusui());
System.out.println(meong.Daging());
System.out.println();
Darat moo = new Darat("Sapi","Limousin",8);
System.out.println(moo.Info());
System.out.println(moo.Bernafas());
System.out.println(moo.Menyusui());
System.out.println(moo.Tumbuhan());
System.out.println();
Darat guguk = new Darat("Anjing","Chihuahua",3);
System.out.println(guguk.Info());
System.out.println(guguk.Bernafas());
System.out.println(guguk.Menyusui());
System.out.println(guguk.Daging());
System.out.println();
Darat mbee = new Darat("Domba","Dorper",5);
System.out.println(mbee.Info());
System.out.println(mbee.Bernafas());
System.out.println(mbee.Menyusui());
System.out.println(mbee.Tumbuhan());
System.out.println();
}
}
          Kode diatas akan menghasilkan error karena induk harus bersifat public tidak boleh private
(Kode yang saya bold & italic harus public)

Inheritance yang benar:
class Mamalia{
String nama;
String jenis;
int umur;

public Mamalia(String nama, String jenis, int umur){
this.nama = nama;
this.jenis = jenis;
this.umur = umur;
}

public String Bernafas(){
return "Hewan ini Bernafas menggunakan paru-paru";
}

public String Menyusui(){
return "Hewan ini Menyusui anaknya";
}

public String Daging(){
return "Hewn ini pemakan daging";
}

public String Tumbuhan(){
return "Hewn ini pemakan tumbuhan";
}


public String Info(){
return "Nama : "+this.nama+"\nJenis : "+this.jenis+"\nUmur : "+this.umur+" Bulan";
}
}


class Darat extends Mamalia{
public Darat(String nama, String jenis, int umur){
super(nama,jenis,umur);
}
}

public class HewanDarat{
public static void main(String[] args) {
System.out.println();
Darat meong = new Darat("Kucing","Persia",4);
System.out.println(meong.Info());
System.out.println(meong.Bernafas());
System.out.println(meong.Menyusui());
System.out.println(meong.Daging());
System.out.println();
Darat moo = new Darat("Sapi","Limousin",8);
System.out.println(moo.Info());
System.out.println(moo.Bernafas());
System.out.println(moo.Menyusui());
System.out.println(moo.Tumbuhan());
System.out.println();
Darat guguk = new Darat("Anjing","Chihuahua",3);
System.out.println(guguk.Info());
System.out.println(guguk.Bernafas());
System.out.println(guguk.Menyusui());
System.out.println(guguk.Daging());
System.out.println();
Darat mbee = new Darat("Domba","Dorper",5);
System.out.println(mbee.Info());
System.out.println(mbee.Bernafas());
System.out.println(mbee.Menyusui());
System.out.println(mbee.Tumbuhan());
System.out.println();
}
}

Dan hasil nya

Dengan Inheritance, kita hanya perlu memanggil data di class induk tanpa perlu deklarasi ulang, dan ini contoh data di class induk yang digunakan



Comments

Popular posts from this blog

Resensi Buku Mikrotik Kungfu Kitab 2

PENYERAPAN BAHASA ASING KE DALAM BAHASA INDONESIA