INFORMATION
HIDING,INHERITANCE,
ENCAPSULATION
DAN POLYMORPHISM
A.
INHERITANCE
Inheritance adalah
penurunan atribut dan method dari suatu kelas super/kelas induk ke sub
kelas/kelas anak. Pewarisan ini bersifat menyeluruh sehingga semua atribute dan
methode yang di miliki kelas super dapat diturunkaan ke subkelas.
Deklarasi:
[modifier] class
namasubkelas extends nama kelas super {
Class body;
}
Keterangan :kata
kunci extends digunakan untuk pewarisan
A.
ENCAPSULATION
Encapsulation atau
pengapsulan adalah suatu kemampuan dalam pemrograman berorientasi objek untuk
menyembunyikan atribut dan mthode suatu objek dari objek lain.pengapsulan
membuat orang lain tidak mengetahui bagaimana detail implementasi (listing
program) dari modul tsb. Mereka hanya perlu mengetahui variabel2 apa saja yang
menjadi input dan output, serta bagaimana interaksi modul tsb dengan variabel ,
methode, kelas, interface, atau package lain dengan modul tsb. Dalam pemrograman
menyembunyikan detail ini dikenal dengan istilah information hiding.
B.
POLYMORPHISM
Secara leksikal,polymorphism
(polimorfisme) bermakna satu kata yang memiliki banyak arti. Polymorfisme dapat
diilustrasikan sbb. Perhatikan penggunaan kata “mentah” dalam beberapa kalimat
berikut:
1.
“sayuran
itu masih mentah”
2.
“pukulan
petinju itu berhasil dimentahkan lawannya”.
3.
“gagasan
itu masih mentah sehingga perlu dibahas kembali”.
Dalam pemrograman, istilah polimorfisme
dapat diartikan sebagai modul yang memiliki nama yang sama, namun memiliki tingkah
laku yang berbeda sehingga implementasinya berbeda.
1.
Membuat
program superclass.java
public
class superclass {
public superclass () {
System.out.println ("ini
konstruktor milik superclass");
}
public void methodsuperclass() {
System.out.println ("ini
method milik superclass");
}
}
2.
Membuat
program subclass.java
public
class subclass extends superclass {
public subclass () {
super();
}
public void methodsubclass() {
super.methodsuperclass();
}
}
Class subclass merupakan pewarisan dari class
superclass ditandai dengan
public
class subclass extends superclass {
3.
Membuat
program demoinheritance.java
public
class demoinheritance {
public static void main (String[]
Args) {
subclass sc = new subclass
();
sc.methodsubclass();
}
}
Class demoinheritance
merupakan kelas utama dari class subclass dan superclass ditandai dengan
adanya public static void main (String[] Args) {
Hasil program :
Ini konstruktor milik super class
Ini methode milik superclass
4.
Membuat
program persegi.java
public
class persegi {
private
double panjang; //atribut yang disembunyikan
private
double lebar; //atribut yang
disembunyikan
private
double tinggi; //atribut yang
disembunyikan
public persegi() {
panjang=0;
lebar=0;
}
private
double luas (double p, double l) {
return p*l;
}
public void setpanjang(double
panjang1){
this.panjang = panjang1;
}
public void setlebar(double lebar1) {
this.lebar = lebar1;
}
public double getpanjang() {
return panjang;
}
public double getlebar() {
return lebar;
}
public double getluas() {
return luas(panjang,lebar);
}
}
Class persegi
merupakan pengkapsulan, dimana syarat pengkapsulan harus menggunakan
modifier private
5.
Membuat
program mainpersegi.java
public
class mainpersegi {
public static void main(String[] Args)
{
persegi pg = new persegi ();
pg.setpanjang(10);
pg.setlebar(20);
System.out.println("panjang
: "+pg.getpanjang());
System.out.println("lebar
: "+pg.getlebar());
System.out.println("luas
:"+pg.getluas());
}
}
Main persegi
merupakan kelas utama pada class persegi ditandai dengan
public
static void main(String[] Args) {
hasil program :
panjang = 10
lebar= 20
luas= (10,20)
6.
Membuat
program karyawan.java
abstract
class karyawan {
int gaji;
karyawan () {
gaji = 1000000;
}
int getgaji() {
return gaji;
}
abstract void naikgaji();
}
7.
Membuat
program manager.java
class
manager extends karyawan {
manager() {
gaji += 2000000;
}
void naikgaji() { gaji+=3000000; }
}
8.
Membuat
program receptionist.java
class
receptionist extends karyawan {
receptionist () {
gaji += 1000000;
}
void naikgaji() { gaji+=1000000;}
}
9.
Membuat
program polymorphisme.java
class
polymorphisme {
public static void main (String[]
Args) {
karyawan k[]=new karyawan[3];
k[0]= new manager();
k[1]= new receptionist();
k[2]= new manager();
for (int i=0;i<3;i++)
System.out.println("gaji
karyawan "+i+"
adalah
"+k[i].getgaji());
for (int i=0;i<3;i++)
k[i].naikgaji();
for(int i=0;i<3;i++)
System.out.println("gaji
sekarang "+i+"
adalah
"+k[i].getgaji());
}
}
Polymorpisme merupakan
induk kelas dari karyawan,manager, receptionist.
Ditandai dengan
adanya fungsi utama public static void
main (String[] Args) {
karyawan k[]=new
karyawan[3];
k[0]= new manager();
k[1]= new receptionist();
k[2]= new manager();
berfungsi untuk membuat objek bersifat array
(memiliki banyak index)
k[0]= new manager();
berfungsi untuk memanggil konstruktor manager yang
merupakan anak dari karyawan