JavaBeans
Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de
versiunea revizuită la 12 martie 2013; verificările necesită
14 modificări .
A nu se confunda cu
Enterprise JavaBeans .
JavaBeans sunt clase în limbajul Java , scrise după anumite reguli. Acestea sunt folosite pentru a combina mai multe obiecte într-unul singur ( de exemplu boabe - boabe , boabe de cafea) pentru un transfer ușor de date. [unu]
Specificația Sun Microsystems definește JavaBeans ca componente software reutilizabile care pot fi manipulate folosind designeri grafici și instrumente IDE .
JavaBeans oferă baza pentru componente software reutilizabile, încorporabile și modulare . JavaBean-urile pot lua mai multe forme, dar sunt utilizate cel mai frecvent în elementele interfeței grafice cu utilizatorul (GUI) . Unul dintre scopurile creării JavaBeans este acela de a interacționa cu structuri componente similare . De exemplu, un program Windows , având în vedere obiectul bridge sau wrapper adecvat , poate folosi o componentă JavaBeans ca și cum ar fi o componentă COM sau ActiveX .
Reguli de descriere JavaBean
Pentru ca o clasă să funcționeze ca un bean, trebuie să urmeze anumite convenții de denumire a metodei, constructor și comportament. Aceste convenții permit crearea de instrumente care pot utiliza, înlocui și lega JavaBeans.
Regulile de descriere sunt:
- Clasa trebuie să aibă un constructor fără parametri cu un modificator de acces public. Un astfel de constructor permite instrumentelor să creeze un obiect fără complexitatea suplimentară a parametrilor.
- Proprietățile clasei trebuie să fie accesibile prin get, setși prin alte metode (numite metode accesorii ), care trebuie să respecte convenția standard de denumire. Acest lucru permite instrumentelor să detecteze și să actualizeze automat conținutul bean. Multe instrumente au chiar editori specializati pentru diferite tipuri de proprietăți.
- Clasa trebuie să fie serializabilă . Acest lucru face posibilă salvarea, stocarea și restaurarea în mod fiabil a stării bean-ului într-o manieră independentă de platformă și de mașina virtuală.
- Clasa trebuie să aibă metodele equals(), hashCode() și toString() suprascrise.
Deoarece cerințele sunt exprimate în cea mai mare parte ca o convenție, mai degrabă decât o interfață , unii dezvoltatori consideră JavaBeans ca fiind obiecte Java vechi simple care urmează anumite convenții de denumire.
Exemple
// PersonBean.java
Clasa publică PersonBean implementează java . io . Serializabil {
Nume șir privat ; _
privat boolean decedat ;
public PersonBean () {
}
// Metode getters (get) și setters (set)
public String getName () {
returnează numele ;
}
public void setName ( nume șir ) {
aceasta . nume = nume ;
}
public boolean getDeceased () {
întoarce decedat ;
}
public void setDeceased ( boolean decedat ) {
aceasta . deceased = decedat ;
}
//Metodele equals() și hashCode() sunt suprascrise
@Trece peste
public boolean equals ( Object o ) {
dacă ( asta == o ) {
returnează adevărat ;
}
if ( o == null || getClass () != o . getClass ()) {
returnează fals ;
}
PersonBean that = ( PersonBean ) o ;
if ( decedat != that . deceased ) {
returnează fals ;
}
intoarce- te! ( nume != nul ? ! nume . equals ( acela . nume ) : acel . nume != nul );
}
@Trece peste
public int hashCode () {
int rezultat = nume != null ? nume . hashCode ( ) : 0
rezultat = 31 * rezultat + ( decedat ? 1 : 0 );
returnează rezultatul ;
}
//Metoda toString() înlocuită
@Trece peste
public String toString () {
returnează „PersonBean{” +
"nume='" + nume + '\'' +
", decedat=" + decedat +
'}' ;
}
}
// TestPersonBean.java
clasă publică TestPersonBean {
public static void main ( String [] args ) {
PersonBean person = new PersonBean ();
persoana . setName ( "Bob" );
persoana . setDeceased ( adevărat );
// Rezultat: „Bob [decedat]”
Sistem . afară . print ( person.getName ( ) );
Sistem . afară . println ( persoană . getDeceased () ? " [decedat]" : " [în viață]" );
}
}
Note
- ↑ Specificația JavaBeans ? . www.oracle.com . Preluat la 31 martie 2021. Arhivat din original la 16 aprilie 2021. (nedefinit)