Sama halnya dengan pewarisan pada manusia, pewarisan pada java meupakan penurunan sifat pada suatu class pada class lainnya.Inheritance atau pewarisan pada pemrograman berorientasi objek merupakan suatu hubungan dua buah kelas atau lebih. Dalam hal ini ada kelas yang memiliki atribut dan metode yang sama dengan kelas lainnya beserta atribut dan metode tambahan yang merupakan sifat khusus kelas yang menjadi turunannya. Sebagai contoh, misalkan ada sebuah kelas Kotak yang mempunyai kelas turunan Kotak3D:
class Kotak{private integer panjang;
private integer lebar;
Kotak(){
panjang = 0;
lebar = 0;
}
public integer getPanjang(){
return panjang;
}
public integer getLebar(){
return lebar;
}
}
class Kotak3D extends Kotak{
private integer tinggi;
Kotak3D(){
tinggi = 0;
}
public integer getZ(){
return lebar;
}
}
Keterkaitan antara kelas Kotak dan Kotak3D adalah kelas Kotak3D merupakan kelas turunan dari kelas Kotak. Dalam hal ini kelas Kotak disebut dengan kelas dasar atau super class atau base class sedangkan kelas Kotak3D disebut sebagai kelas turunan atau derived class atau subclass.Pada contoh di atas, ketika kelas Kotak3D dibuat objeknya maka objek tersebut dapat menggunakan metode yang ada pada kelas Kotak walau pada kode programnya metode itu tidak dituliskan, misalkan sebagai berikut:
Kotak3D p = new Kotak3D();integer x = p.getPanjang();
integer y = p.getLebar();
integer z = p.getTinggi();
Keuntungan dari pewarisan adalah tidak perlu mengutak-atik kode kelas yang membutuhkan tambahan atribut atau metode saja, karena tinggal membuat kelas turunannya tanpa harus mengubah kode kelas dasarnya.
Kelas dasar akan mewariskan semua atribut dan kodenya kecuali konstruktor dan destruktor yang memiliki izin akses public dan protected ke kelas turunannya dengan izin akses yang sama dengan pada kelas dasar.Ketika sebuah kelas turunan dibuat objeknya saat eksekusi, maka secara implisit konstruktor kelas dasar dipanggil terlebih dahulu baru kemudian konstruktor kelas turunan dijalankan. Begitu juga saat objek dimusnahkan maka secara destruktor kelas turunan akan dijalankan baru kemudian destruktor kelas dasar dijalankan.
0 komentar: on "Belajar system pewarisan atau inheritance di java?? Penting lho…."
Posting Komentar