Kamis, 26 Februari 2009

INHERITANCE PADA JAVA

A. Pengertian inheritance
1.Inheritance (pewarisan) yaitu proses pewarisan data dan method dari suatu kelas kepada kelas lain.
2.Pewarisan bersifat menyeluruh
3.Semua data dan method milik kelas asalnya diturunkan ke kelas baru.
4.Kelas yang mewariskan --> Super Class atau Kelas Induk
5.Kelas yang diwariskan --> Sub Class atau Kelas Ana

Misal :
kelas B adalah kelas anak dari kelas A, maka sifat – sifat dari kelas A otomatis akan dimiliki juga oleh kelas B.
Jika kelas induk merupakan turunan dari kelas lain, maka data dan method yang berasal dari kelas tersebut akan ikut diwariskan pula kepada kelas anaknya.

Contoh :
Kelas C adalah kelas anak dari kelas B
Kelas B merupakan kelas anak dari kelas A.
Maka sifat–sifat yang diwariskan kelas A ke kelas B juga akan diwariskan ke kelas C.

Keyword untuk pewarisan : extends

B. Keuntungan Pewarisan (Inheritance)


1. Bersifat reusable
Tidak harus menyalin semua data dan method dari suatu kelas jika akan menggunakannya lagi

2. Kemudahan dalam me-manage kelas yang memiliki data dan method yang sama
Untuk memodifikasi suatu data atau method untuk semua subkelas / kelas anak, maka tidak perlu melakukan perubahan di masing-masing kelas anak melainkan hanya pada kelas induk saja.

Contoh 1 Inheritance

class Induk
{
private String var1; //hak akses private berarti tidak dapat diakses oleh kls anak
public int var2; //hak akses public berarti dapat diakses oleh kls anak
//konstruktor
Induk (){
}
//method
public void cetakData() {
}
}

class Anak extends Induknya
{
private String dataAnak; //variabel
//konstruktor
Anaknya() {
}
public void cetak() {
cetakData();//method milik Induk
// ada jg yang memanggil dgn super.cetakData()
}
}

Sumber : http://java.stikom-bali.ac.id/dosen/java7.ppt


Contoh 2 Inheritance

class mobil_lengkap2{String warna;

int tahunProduksi;

void printmobil()
{
System.out.println("warna :"+warna);
System.out.println("tahun :"+tahunProduksi);
}
void hidupkanmobil()
{
System.out.println("hidupkanmobil");
}
void matikanmobil()
{
System.out.println("matikanmobil");
}
void ubahgigi()
{
System.out.println("ubahgigi");
}


}


class mobil_bmw extends mobil_lengkap2
{

void nontonTV()
{
System.out.println("TV dihidupkan");
System.out.println("TV mencari channel");
System.out.println("TV menampilkan gambar");
}


}


Tidak ada komentar:

Posting Komentar