จาวาบีนส์
หน้าตา
จาวาบีนส์ (JavaBeans) เป็นคลาสที่เขียนขึ้นด้วยภาษาจาวาอย่างสอดคล้องกับสัญนิยมเฉพาะอย่าง ใช้สำหรับห่อหุ้มอ็อบเจกต์จำนวนมากให้อยู่ในอ็อบเจกต์เดียว (Bean) ซึ่งสามารถส่งเวียนไปรอบๆได้ดีกว่าอ็อบเจกต์เดี่ยวๆ
สัญนิยมของจาวาบีน
[แก้]Object class ที่จะทำหน้าที่เป็นคลาสจาวาบีนนั้น ต้องเป็นไปตามสัญนิยมเกี่ยวกับการตั้งชื่อเมท็อด การสร้างเมท็อด และพฤติกรรมของเมท็อด สัญนิยมเหล่านี้ทำให้ Object class มีเครื่องมือที่สามารถใช้งาน แทนที่ และติดต่อจาวาบีนได้
สัญนิยมที่จำเป็นได้แก่ :
- คลาสของต้องมีตัวสร้างที่เป็น Public และ No-argument ซึ่งทำให้สามารถสร้างกรณีตัวอย่างโดยตรวจแก้และกระตุ้นกรอบงานได้โดยง่าย
- คลาสควรมีคุณสมบัติที่สามารถเข้าถึงได้โดยใช้เมท็อด Get Set และอื่นๆได้ตามสัญนิยมการตั้งชื่อมาตรฐาน ซึ่งทำให้ตรวจสอบและปรับปรุงสถานะของ Bean ตามกรอบงานได้โดยอัตโนมัติ
- คลาสควรจะทำให้เป็นอนุกรมได้ ซึ่งทำให้โปรแกรมและกรอบงานสามารถบันทึก เก็บ และฟื้นฟูสถานะของ Bean ใน VM และรูปแบบที่เป็นอิสระจากแพลตฟอร์มได้อย่างน่าเชื่อถือ
- คลาสไม่ควรมีเมท็อด Event-handling ที่จำเป็นใดๆ
ตัวอย่างของจาวาบีนส์
[แก้]// PersonBean.java
public class PersonBean implements java.io.Serializable {
private String name;
private boolean deceased;
// No-arg constructor (takes no arguments).
public PersonBean() {
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
// Different semantics for a boolean field (is vs. get)
public boolean isDeceased() {
return this.deceased;
}
public void setDeceased(boolean deceased) {
this.deceased = deceased;
}
}
// TestPersonBean.java
public class TestPersonBean {
public static void main(String[] args) {
PersonBean person = new PersonBean();
person.setName("Bob");
person.setDeceased(false);
// Output: "Bob [alive]"
System.out.print(person.getName());
System.out.println(person.isDeceased() ? " [deceased]" : " [alive]");
}
}
อ้างอิง
[แก้]- JavaBean คืออะไร เก็บถาวร 2008-02-22 ที่ เวย์แบ็กแมชชีน