จาวาบีนส์
จากวิกิพีเดีย สารานุกรมเสรี
จาวาบีนส์ (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]"); } }