Senin, 15 Oktober 2007

JAVA BEAN

JavaBean sebenarnya hanyalah sebuah class yang hanya terdiri dari beberapa field private dan dengan method setter untuk menset field dari luar class dan getter untuk mendapatkan nilai dari field. Adanya JavaBean memudahkan kita untuk melakukan refactoring karena JavaBean sebenarnya adalah representasi semua objek apapun di dunia ini. Misalnya,

public class MyJavaBean {

private int myField1 = 0;

private double mySecondField = 0;

// getter

public int getMyField1() {

return this.myField1;

}

public double getMySecondField() {

return this.mySecondField;

}

// setter

public void setMyField1( int val ) {

this.myField1 = val;

}

public void setMySecondField( double val ) {

this.mySecondField = val;

}

}

Ciri utama dari JavaBean adalah method-method-nya yang selalu diawali dengan kata get/set diikuti nama field dengan huruf pertama dari nama field adalah huruf besar. Lihat caraku menulis di contoh di atas. Ada field bernama myField1, maka setter dan getter-nya adalah setMyField1 dan getMyField1.

Nah, sampai di sini tentunya pertanyaannya menjadi begini: Jika field bertipe private, yang artinya tidak bisa diakses dari luar class, kenapa harus ada method getter dan setter yang bertipe public, yang akhirnya class luar bisa memodifikasi lewat dua method ini? Kenapa tidak field-nya saja yang diberi proteksi public? Toh sama saja kan akhirnya?

Pertanyaan dan argumen di atas memang sangat benar. Tapi di sinilah konsep design pattern itu! Dengan membuat field private dengan dua setter/getter public, kita tidak dapat sembarangan mengubah-ubah isi objek dari luar dengan statement namaClass.namaField = 2; tetapi harus melalui sebuah mekanisme yang mudah terlihat. Dengan menjadikan field tersebut public, kita benar-benar kehilangan konsep object oriented-nya (Properti suatu objek hanya dapat diubah melalui method-nya). Dengan mekanisme yang jelas, maka kode program akan lebih terbaca, lebih mudah ditelusuri, dan terkonsep dengan baik. That’s! inti dari sebuah Design Pattern

Tidak ada komentar:

 

blogger templates | Make Money Online