Apa itu inheritance atau turunan ?
Inheritance
Pewarisan (Inheritance) adalah
penurunan sifat yang ada pada
suatu kelas kepada kelas baru
yang menjadi turunannya. Sifat-sifat suatu kelas ditentukan oleh
data anggota dan metode,
sehingga yang dimaksud
penurunan sifat adalah penurunan
sifat adalah penurunan data
anggota atau metode. Kelas yang
menurunkan sifat disebut kelas
dasar disebut kelas turunan
(derived class).
Dengan pewarisan dapat
diciptakan suatu kelas baru yang
mana kelas tersebut mewarisi
seluruh sifat kelas dasar kelas
yang mempunyai akses public
atau protected ditambah sifat
khusus dari kelas yang
bersangkutan. Ketentuan utama
dengan adanya pewarisan yaitu
memungkinkan suatu kode yang
telah ditulis mudah sekali untuk
digunakan kembali. Kita telah
membuat suatu kelas yang telah
diuji. dan suatu hari nanti, kita
ingin menerapkan kode tersebut
pada sesuatu yang memiliki sifat-
sifat kelas tersebut, tinggal
mewariskan kelas yang telah ada
di kelas baru (kelas turunan). Kita
tidak perlu mengotak ngatik kelas
yang teruji, sehingga efek samping
yang tidak diharapkan tidak
terjadi. Dengan cara ini
pengembangan program menjadi
lebih efisien dan hemat waktu.
Selain itu, kita dapat
menambahkan sifat-sifat baru
yang tidak ada pada kelas dasar
atau bahkan dapat mengganti
sifat-sifat pada kelas turunan,
yang berbeda dengan sifat kelas
dasar.
Pengertian Inheritance
• Inheritance merupakan salah
satu dari tiga konsep dasar OOP.
• Konsep inheritance ini
mengadopsi dunia riil dimana
suatu entitas/obyek / y dapat
mempunyai entitas/obyek
turunan.
• Dengan konsep inheritance,
sebuah class dapat mempunyai
class turunan.
• Suatu class yang mempunyai
class turunan dinamakan parent
class atau base class.
• Sedangkan class turunan itu
sendiri seringkali disebut subclass
atau child class.
Deklarasi Inheritance
• Dengan menambahkan kata
kunci extends setelah deklarasi
nama class, kemudian diikuti
dengan nama parent class‐nya.
• Kata kunci extends tersebut
memberitahu kompiler Java bahwa
kita ingin melakukan perluasan
class.
Contoh Program:
class mahasiswa {
private int npm;
private String nama;
private buku bukunya[];
private int jumlah;
public mahasiswa(int n, String
m){
npm = n;
nama = m;
jumlah = 0;
bukunya = new buku [3];
System.out.println
("Constructor mahasiswa "+nama);
} public void pinjam_buku
(buku b){
if (jumlah < 3){
bukunya[jumlah] = b;
jumlah++;
System.out.println(nama+"
pinjam buku "+b.get_judul()+"
karangan "+b.get_pengarang());
}
else
System.out.println("Sudah
Penuh!");
}
public void daftar_buku(){
System.out.println("Daftar
Bukunya "+nama+":");
for(int i=0; i<jumlah; i++){
System.out.println(i+1+".
"+bukunya[i].get_judul());
}
}
}
class buku {
public String judul;
public String pengarang;
public String penerbit;
public buku(){};
public buku(String j, String p){
judul = j;
pengarang = p;
System.out.println
("Constructor buku "+judul);
}
public void milik_buku(){
System.out.println("Method
ini milik class induk");
}
public String get_judul(){
return judul;
}
public String get_pengarang(){
return pengarang;
}
}
class buku_sejarah extends buku {
public void view_buku_sejarah()
{
milik_buku();
}
public void set_buku(String j,
String p){
judul = j;
pengarang = p;
System.out.println(judul+"
"+pengarang);
}
}
public class Main {
public static void main(String[]
args) {
mahasiswa si = new
mahasiswa(123,"Ruby");
buku bp = new buku
("Java","Arie");
si.pinjam_buku(bp);
buku pti = new buku
("Pengantar IT","Rudi");
si.pinjam_buku(pti);
buku logika = new buku
("Logika","Pulung");
si.pinjam_buku(logika);
buku komik = new buku
("Naruto","One Piece");
si.pinjam_buku(komik);
si.daftar_buku();
buku_sejarah bukuku = new
buku_sejarah();
bukuku.view_buku_sejarah();
bukuku.set_buku("Sejarah
Kita","Top Cerr");
}
}
Output:
OUTPUT:
init:
deps-jar:
Compiling 1 source file to C:
\Documents and Settings\user\My
Documents\NetBeansProjects
\JavaApplication21\build\classes
compile:
run:
Constructor mahasiswa Ruby
Constructor buku Java
Ruby pinjam buku Java karangan
Arie
Constructor buku Pengantar IT
Ruby pinjam buku Pengantar IT
karangan Rudi
Constructor buku Logika
Ruby pinjam buku Logika
karangan Pulung
Constructor buku Naruto
Sudah Penuh!
Daftar Bukunya Ruby:
1. Java
2. Pengantar IT
3. Logika
Method ini milik class induk
Sejarah Kita Top Cerr
BUILD SUCCESSFUL (total time: 8
seconds)
Sumber : Disinii
Comments
Post a Comment