Inheritance atau pewarisan pada pemrograman berorientasi objek merupakan suatu hubungan dua buah class atau lebih.Dalam hal ini ada class yang memiliki atribut dan method yang
sama dengan class lainnya yang menjadi turunannya.
Jadi jika attribut pada suatu classs udah ada,
maka attribut tersebut tidak perlu dibuat kembali pada class yang menjadi turunannya,
sehingga cukup utuk memanggil class induk nya tersebut.
Rangkuman :
1.
Inheritence (Pewarisan) merupakan salah satu dari tiga konsep dasar OOP.
2.
Dengan konsep inheritance, sebuah class dapat mempunyai class turunan.
3.
Suatu class yang mempunyai class turunan dinamakan parent class atau baseclass.
4.
Sedangkan class
turunan itu sendiri seringkali disebut subclass atau childclass.
5.
Suatusubclass
dapat mewarisi apa-apa yang dipunyai oleh parent class.
6.
Kesimpulannya,
boleh dikatakan bahwa suatu subclass adalah tidak lain
hanya memperluas (extend) parent class-nya
Single
Inheritance
Konsep
Inheritance yang adadi Java pada dasarnya hanya memperkenankan adanya single inheritance.Dimana konsep single inheritance hanya memperbolehkan suatu sublass mempunyai satu parent class.
Multi
Level Inheritance
Multi
Level Inheritence diambil dari logika pewarisan berturut-turut.Sehingga sebuah class
bisa mewariskan atribut dan method-nyake class turunannya, dan class turunannya bisa menurunkan attribut dan metdhodnya ke class turunannya juga.
KontrolPengaksesan
Ada 4 jenis
control pengaksesan class pada java.
1. Public
2. Protected
3. Default
4. Private
KeuntunganPewarisan
1. Bersifat reusable
Tidak harus menyalin semua attribut dan
method dari suatu class jika akan memakainya lagi.
2. Kemudahan dalam me-manage class yang memiliki data dan
method yang sama
Untuk memodifikasi suatu attribut atau
method untuk semua subclass / class anak, maka tidak perlu melakukan perubahan di
masing-masing class anak melainkan hanya pada class induk saja.
ContohProgram
SingleInheritence
packageinheritence;
importjava.util.Scanner;
classManusia
{
voidgetManusia(String
nama,Stringjk){
System.out.println("Nama
: "+nama);
System.out.println("Kelamin
: "+jk);
}
}
classPegawai
extends Manusia
{
voidgetPegawai(String
jabatan, intgaji){
System.out.println("Jabatan
: "+jabatan);
System.out.println("Gaji
: $"+gaji+" USD");
}
}
public
class Main{
public
static void main(String[] args) {
Pegawai
x = new Pegawai();
x.getManusia("Fahmi",
"Laki-laki");
x.getPegawai("Teknisian",
150);
}
}
Multi LevelInheritance
packageinheritence;
importjava.util.Scanner;
classManusia
{
voidgetManusia(String
nama,Stringjk){
System.out.println("Nama
: "+nama);
System.out.println("Kelamin
: "+jk);
}
}
classPegawai
extends Manusia
{
voidgetPegawai(String
jabatan, intgaji){
System.out.println("Jabatan
: "+jabatan);
System.out.println("Gaji
: $"+gaji+" USD");
}
}
classManajer
extends Pegawai
{
voidgetManajer(String
departemen){
System.out.println("Departemen
: "+departemen);
}
}
public
class Main{
public
static void main(String[] args) {
/* Manajer x = new Manajer();
* x.getManusia("Azar",
"Laki-laki");
* x.getPegawai("Manajer",
500);
* x.getManajer("IT");
*/
Scanner in = new Scanner(System.in);
System.out.print("Nama
: ");
String nama = in.nextLine();
System.out.print("JenisKelamin
: ");
String jk = in.nextLine();
System.out.print("Jabatan
: ");
String jabatan = in.nextLine();
System.out.print("Departemen
: ");
String departemen = in.nextLine();
System.out.print("Gaji
: ");
intgaji
= in.nextInt();
System.out.println("------HASIL------");
Manajer
x = new Manajer();
x.getManusia(nama,jk);
x.getPegawai(jabatan,
gaji);
x.getManajer(departemen);
}
}
Referensi :
Tidak ada komentar:
Posting Komentar