Information Hiding dan Encapsulation
Information Hiding adalah menyembunyikan attribute suatu objek dari objek lain. Encapsulation adalah menyembunyikan method suatu objek dari objek lain. Attribute maupun method disembunyikan dengan
cara memberikan modifier private. Method dalam kelas yang sama, yang memberikan nilai pada attribute private disebut method setter, sedangkan method masih dalam kelas yang sama, yang mengambil nilai dari attribute private disebut getter.
Information Hiding adalah menyembunyikan attribute suatu objek dari objek lain. Encapsulation adalah menyembunyikan method suatu objek dari objek lain. Attribute maupun method disembunyikan dengan
cara memberikan modifier private. Method dalam kelas yang sama, yang memberikan nilai pada attribute private disebut method setter, sedangkan method masih dalam kelas yang sama, yang mengambil nilai dari attribute private disebut getter.
Pewarisan (inheritance)
Semua class dalam Java, termasuk class yang membangun Java API, merupakan subclass dari superclass Object.
Contoh dari hierarki class :
Superclass
Adalah class yang letaknya di atas class tertentu di dalam hierarki.
Subclass
Adalah class yang letaknya di bawah class tertentu di dalam hierarki.
Untuk mengambil sebuah class, gunakan keyword extends.
Untuk mengambil sebuah class, gunakan keyword extends.
Polymorphism
Kemampuan sebuah variabel reference untuk merubah behavior sesuai dengan apa yang dipunyai object. Polymorphism membuat objek-objek yang berasal dari subclass yang berbeda, diperlakukan sebagai objek-objek dari satu superclass. Hal ini terjadi ketika memilih method yang sesuai untuk diimplementasikan ke objek tertentu berdasarkan pada subclass yang memiliki method bersangkutan. Dalam Java, kita dapat membuat referensi dari suatu superclass ke object dari subclassnya.
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");
}
}
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");
}
}
SuperClass.java |
Membuat program SubClass.java
public class SubClass extends SuperClass {
public SubClass () {
super();
}
public void methodSubClass () {
super.methodSuperClass ();
}
}
public SubClass () {
super();
}
public void methodSubClass () {
super.methodSuperClass ();
}
}
SubClass.java |
Membuat program DemoInheritance.java
public class DemoInheritance {
public static void main (String[] args) {
SubClass sc = new SubClass();
sc.methodSubClass();
}
}
public static void main (String[] args) {
SubClass sc = new SubClass();
sc.methodSubClass();
}
}
hasil compile
DemoInheritance.java |
Membuat program Persegi.java
public class Persegi {
private double panjang;
private double lebar;
private double tinggi;
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);
}
}
Persegi.java |
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());
}
}
hasil compile
MainPersegi.java |
Membuat program Karyawan.java
abstract class Karyawan {
int gaji;
Karyawan() {
gaji = 1000000;
}
int getGaji() {
return gaji;
}
abstract void naikGaji();
}
Karyawan.java |
Membuat program Manager.java
class Manager extends Karyawan {
Manager() {
gaji += 2000000;
}
void naikGaji() { gaji+=3000000; }
}
Manager.java |
Membuat program Receptionist.java
class Receptionist extends Karyawan {
Receptionist() {
gaji +=1000000;
}
void naikGaji() { gaji+=1000000; }
}
Receptionist.java |
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());
}
}
hasil compile
Polymorphisme.java |