Inheritance (Pewarisan)
Inheritance adalah konsep penting dalam pemrograman berorientasi objek. Bila diterjemahkan secara harafiah, artinya adalah Pewarisan.
Istilah Inheritance akan lebih sering digunakan karena istilah ini sudah dikenal luas dalam dunia pemrograman internasional. Fungsi utama inheritance adalah untuk membuat Class baru dari class yang sudah ada.
Inheritance menjadikan suatu class menjadi lebih reusable dalam arti lebih berguna karena dapat digunakan untuk menghasilkan class-class lain yang lebih spesifik.
Apabila ada suatu class mewarisi class lain maka dalam definisi class harus ditambakan extends. Agar lebih jelasnya berikut adalah contoh programnya.
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 (){};
}
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");
}
}
{
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");
}
}
Polimorfisme
Kata Polimorfisme memiliki kemampuan untuk memiliki bentuk atau wujud berbeda. Dalam istilah pemrograman, kata ini memiliki arti kemampuan dari suatu variabel referensi objek untuk memiliki aksi berbeda bila method yang sama dipanggil, dimana aks method tergantung dari tipe objeknya.
Berikut adalah contoh programnya.
Listing Program - Polimorfise.java
import java.util.Random;
public class Polimorfisme{
public static void main (String args[])
{
Hewan[] hewannya = {
new Kucing ("Kiti", "Persia "),
new Ayam ("Jalu","Buras ")};
Hewan pilihHewan ;
Random pilih = new Random ();
for (int i=0;i<2 ;i++ )
{
pilihHewan=
hewannya [pilih.nextInt (hewannya.length)];
System.out.println("\nPilihan Anda:\n"+pilihHewan);
pilihHewan.bersuara();
}
}
}
public class Polimorfisme{
public static void main (String args[])
{
Hewan[] hewannya = {
new Kucing ("Kiti", "Persia "),
new Ayam ("Jalu","Buras ")};
Hewan pilihHewan ;
Random pilih = new Random ();
for (int i=0;i<2 ;i++ )
{
pilihHewan=
hewannya [pilih.nextInt (hewannya.length)];
System.out.println("\nPilihan Anda:\n"+pilihHewan);
pilihHewan.bersuara();
}
}
}
Setelah Contoh Program Inheritance kita buat. lalu compile masing-masing class. yaitu class Hewan.java , Ayam.java dan Kucing.java. Lalu compile juga class Polimorfisme.java diatas. Terakhir run java Polimorfisme.
Maka Output Programnya akan seperti gambar di bawah ini.
Output Program
Buku yang berjudul " Dasar Pemrograman Berorientasi Objek dengan JAVA 2 (JDK.4)"
Karya : Isak Rickyanto, ST
Penerbit : Penerbit ANDI
Nama : Syarief Yusuf Ibrahim
NPM : 56410783
Kelas : 2IA14
Rekan Kelompok
Nama : Akmal Fikri
NPM : 50410479
Kelas : 2IA14
Link : http://akmal-fikri.blogspot.com/
Nice share gaan.. Untuk contoh inheritance yang lainnya bisa kunjungi :
ReplyDeletehttp://top-ilmu.blogspot.com/2012/10/contoh-program-inheritance-pada-java.html
Thx. :)
maksud kata "super" dari super("ayam")
ReplyDeleteklo kata supernya diganti kata lain ngaruh gak?
maklum ane newbie gan