JavaBeansJavaBeans՝ դասեր Java լեզվով, որոնք գրված են որոշակի կանոնների համաձայն։ Դրանք օգտագործվում են մի քանի առարկաներ մեկում միավորելու համար (անգլ.՝ bean - հատիկներ, սուրճի հատիկներ) օբյեկտների հարմար փոխանցման համար[1]։ Sun Microsystems-ի հստակեցումը սահմանում է JavaBeans-ը որպես բազմակի օգտագործման ծրագրային բաղադրիչներ, որոնք կարող են շահագործվել գրաֆիկական դիզայներների և IDE գործիքների միջոցով։ JavaBeans-ը հիմք է տալիս բազմակի օգտագործման, ներկառուցվող և մոդուլային ծրագրային բաղադրիչների համար։ JavaBeans-ը գալիս է բազմաթիվ ձևերով, բայց դրանք առավել հաճախ օգտագործվում են GUI տարրերում։ JavaBeans-ի ստեղծման նպատակներից մեկը նմանատիպ բաղադրիչ կառուցվածքների հետ փոխգործակցությունն է։ Օրինակ, Windows ծրագիրը, հաշվի առնելով համապատասխան կամուրջը կամ դեկորատոր օբյեկտը, կարող է օգտագործել JavaBeans բաղադրիչը, կարծես դա COM կամ ActiveX բաղադրիչ է։ JavaBean նկարագրության կանոններՈրպեսզի դասը աշխատի որպես bean, այն պետք է հետևի որոշակի մեթոդի անվանման, կոնստրուկտորի և վարքագծի կանոններին։ Այս կոնվենցիաները հնարավորություն են տալիս ստեղծել գործիքներ, որոնք կարող են օգտագործել, փոխարինել և կապել JavaBeans-ը։ Նկարագրության կանոններն են.
Քանի որ պահանջները հիմնականում գրված են որպես կոնվենցիա, այլ ոչ թե միջերես, որոշ մշակողներ JavaBeans-ը համարում են պարզ հին Java օբյեկտներ, որոնք հետևում են անվանման որոշակի կոնվենցիաներին։ Օրինակներ// PersonBean.java
public class PersonBean implements java.io.Serializable {
private String name;
private boolean deceased;
public PersonBean() {
}
// Методы геттеры (get) и сеттеры (set)
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean getDeceased() {
return deceased;
}
public void setDeceased(boolean deceased) {
this.deceased = deceased;
}
//Переопределенные методы equals() и hashCode()
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
PersonBean that = (PersonBean) o;
if (deceased != that.deceased) {
return false;
}
return !(name != null ? !name.equals(that.name) : that.name != null);
}
@Override
public int hashCode() {
int result = name != null ? name.hashCode() : 0;
result = 31 * result + (deceased ? 1 : 0);
return result;
}
//Переопределенный метод toString()
@Override
public String toString() {
return "PersonBean{" +
"name='" + name + '\'' +
", deceased=" + deceased +
'}';
}
}
// TestPersonBean.java
public class TestPersonBean {
public static void main(String[] args) {
PersonBean person = new PersonBean();
person.setName("Bob");
person.setDeceased(true);
// Результат: "Bob [deceased]"
System.out.print(person.getName());
System.out.println(person.getDeceased() ? " [deceased]" : " [alive]");
}
}
Ծանոթագրություններ
|