15 Apr 2010

java

1. polymorphism

Polymorphism merupakan salah satu aspek yang harus dimiliki oleh bahasa pemrograman yang berorientasi objek. Polymorhpisme dapat diartikan kemampuan melakukan hal berbeda dengan suatu cara yang sama. Untuk lebih jelasnya, anda bisa melihat contoh program di bawah ini :

class Penyanyi {

public void data() {

System.out.println(“aku adalah penyanyi”);

}

class Krisdayanti extends Penyanyi {

public void data() {

System.out.println(“aku adalah krisdayanti”);

}

}

class BungaCitraLestari extends Penyanyi {

public void data() {

System.out.println(“aku adalah bunga citra lestari”);

}

}

class Polymorphisme {

public static void main(String[] args) {

Penyanyi p;

Krisdayanti kd = new Krisdayanti();

BungaCitraLestari bcl = new BungaCitraLestari();

p = kd; p.data();

p = bcl; p.data();

}

}

2.Inheritance

Inheritance atau pewarisan adalah suatu keharusan yang dimiliki di dalam pemrograman berorientasi objek. Dimana, dengan adanya mekanisme pewarisan ini, maka kita tidak perlu menuliskan kode program dari awal, cukup menuliskan spesifikasi dari class tersebut. Di dalam pemrograman berorientasi objek dikenal dengan sebutan Reuse of code dapat diartikan penggunaan kembali code yang telah dibuat. Dapat pula diartikan inheritance adalah suatu mekanisme yang mengizinkan pembuat program menciptakan class baru berdasarkan class yang sudah ada, tetapi tidak perlu menulis dari nol.

Didalam inheritance terdapat isitilah superclass dan subclass. Superclass adalah class induk atau class orang tua, sedangkan subclass adalah class anak. Semua property, methode, ataupun konstruktor yang dimiliki oleh superclass jika diwariskan, maka subclass memiliki semua yang dimiliki oleh superclass. Untuk melakukan pewarisan / inheritance sebuah class, kita harus menggunakan kata kunci extends.
class A {

int a = 10;

public void cetakA() {

System.out.println(“a : “ + a);

}

}









class B extends A {

int b = 20;

public static void main(String[] args) {

B bB = new B();

bB.cetakA();

System.out.println(“b : “ + bB.b);

}

}

3. Enkapsulasi Java
Enkapsulasi adalah suatu cara untuk menyembunyikan informasi detail dari suatu class. Dua hal yang mendasar dalam enkapsulasi yakni :
• Information hiding.
• Interface to access data.
Information hiding
Sebelumnya kita dapat mengakses anggota class baik berupa atribut maupun method secara langsung dengan menggunakan objek yang telah kita buat. Hal ini dikarenakan akses kontrol yang diberikan kepada atribut maupun method yang ada di dalam class tersebut adalah 'public'. Kita dapat menyembunyikan informasi dari suatu class sehingga anggota class tersebut tidak dapat diakses dari luar, caranya adalah hanya dengan memberikan akses kontrol 'private' ketika mendeklarasikan atribut atau method. Proses ini disebut dengan information hiding.
Interface to access data
Jika kita telah melakukan information hiding terhadap suatu atribut pada suatu class, lalu bagaimana cara melakukan perubahan terhadap atribut yang kita sembunyikan tersebut, caranya adalah dengan membuat suatu interface berupa method untuk menginisialisasi atau merubah nilai dari suatu atribut tersebut.

public class Vehicle{
public double load, maxLoad;
public Vehicle (double maxLoad){
maxLoad = maxLoad + load;
}
public double getLoad(){
return load;
}
public double getMaxLoad(){
return maxLoad;
}
}
Listing program - TestVehicle.java
public class TestVehicle{
public static void main(String[] args){
System.out.println("Creating a vehicle with a 10,000kg maximum load.");
Vehicle vehicle = new Vehicle(10000.0);
System.out.println("Add box #1 (500kg)");
vehicle.load = vehicle.load + 500.0;
System.out.println("Add box #2 (250kg)");
vehicle.load = vehicle.load + 250.0;
System.out.println("Add box #3 (5000kg)");
vehicle.load = vehicle.load + 5000.0;
System.out.println("Add box #4 (4000kg)");
vehicle.load = vehicle.load + 4000.0;
System.out.println("Add box #4 (300kg)");
vehicle.load = vehicle.load + 300.0;
System.out.println("Vehicle load is = " +vehicle.getLoad() + "kg");
}
}