Sabtu, 24 Mei 2008

Inheritance atau Pewarisan

Sekeliling kita semuanya adalah objek. kita sendiri adalah objek, meja, kursi, mobil, pohon dan lain – lain adalah objek. Kalo kita perhatikan objek – objek ini memiliki hierarki berdasarkan jenisnya masing – masing. Untuk jelasnya kita lihat hierarki class dari objek binatang di bawah ini.


Kalo kita perhatikan hierarki class di atas, semakin ke bawah semakin spesifik dan sebaliknya semakin ke atas semakin umum. Apa yang dimikili class Binatang, juga akan dimiliki oleh Mamalia dan Serangga dan semua subclass di bawahnya. Dengan konsep seperti ini, karakteristik yang dimiliki oleh class Binatang cukup didefinisikan pada class Binatang saja. Class Mamalia dan Serangga berserta semua subclass di bawahnya tidak perlu mendefinisikan ulang apa yang telah dimiliki oleh class Binatang, tetapi hanya mendefinisikan karakteristik yang spesifik yang dimilikinya.

Pewarisan dalam Java
Untuk menerapkan konsep pewarisan, Java menyediakan keyword extends yang dapat dipakai pada waktu mendeklarasikan suatu class. Contoh berikut merupakan implementasi dari dari hierarki class Binatang di atas.


public class Binatang {
protected String kind;
protected String makanan;
public void makan(){
System.out.println(this.kind+" makan "+this.makanan);
}
}
public class Mamalia extends Binatang {
public void menyusui(){
System.out.println(this.kind + "menyusui");
}
}
public class Serangga extends Binatang{
public void terbang(){
System.out.println(this.kind+" terbang");
}
}
public class Monyet extends Mamalia{
public void manjatPohon(){
System.out.println(this.kind+" manjat pohon");
}
}
public class Anjing {
public void menggonggong(){
System.out.println("Ooow...Oooowww...oooww!!!");
}
}
public class Sapi {
public void melenguh(){
System.out.println("OOOOOO.....!!!!!");
}
}
public class Kupukupu extends Serangga {
public void metamorfosis(){
System.out.println(this.kind+" bermetamorfosis");
}
}
public class Nyamuk extends Serangga{
public void bertelur(){
System.out.println(this.kind+" bertelur jentik");
}
}
public class Lebah extends Serangga{
public void menyengat(){
System.out.println(this.kind+" Meyengat");
}
}

Di dalam Java semua class yang kita buat sebenarnya adalah turunan atau subclass dari class Object. Class Object merupakan class tertinggi dari semua hierarki class dalam Java.

1 komentar:

Nur Elly Saputra mengatakan...

Kode Parah amat banyak yang error nih tak kasih yang lebih parah

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package Binatang;

/**
*
* @author Vincent
*/
public class Binatang {

protected String kind;
protected String makanan;

public void Binatang(){
makan();
}
public class Mamalia extends Binatang {
public void menyusui(){
System.out.println(this.kind + "menyusui");
}
}
public class Serangga extends Binatang{
public void terbang(){
System.out.println(this.kind+" terbang");
}
}
public class Monyet extends Binatang{
public void manjatPohon(){
System.out.println(this.kind+" manjat pohon");
}
}
public class Anjing {
public void menggonggong(){
System.out.println("Ooow...Oooowww...oooww!!!");
}
}
public class Sapi {
public void melenguh(){
System.out.println("OOOOOO.....!!!!!");
}
}
public class Kupukupu extends Binatang {
public void metamorfosis(){
System.out.println(this.kind+" bermetamorfosis");
}
}
public class Nyamuk extends Binatang{
public void bertelur(){
System.out.println(this.kind+" bertelur jentik");
}
}
public class Lebah extends Binatang{
public void menyengat(){
System.out.println(this.kind+" Meyengat");
}
}
private void makan() {
System.out.println(this.kind+" makan "+this.makanan);
}

public static void main(String args[]){
Binatang bin = new Binatang();
bin.Binatang();
}

}