JavaBeans
Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den
version , der blev gennemgået den 12. marts 2013; checks kræver
14 redigeringer .
Ikke at forveksle med
Enterprise JavaBeans .
JavaBeans er klasser i Java-sproget , skrevet efter visse regler. De bruges til at kombinere flere objekter til én ( eng. bean - bønner, kaffebønner) for nem dataoverførsel. [en]
Sun Microsystems -specifikationen definerer JavaBeans som genbrugelige softwarekomponenter, der kan manipuleres ved hjælp af grafiske designere og IDE -værktøjer .
JavaBeans danner grundlaget for genbrugelige, indlejrbare og modulære softwarekomponenter . JavaBeans kan antage mange former, men de bruges mest i grafiske brugergrænsefladeelementer (GUI) . Et af målene med at skabe JavaBeans er at interagere med lignende komponentstrukturer . For eksempel kan et Windows-program , givet det passende bro- eller wrapper-objekt , bruge en JavaBeans-komponent, som om det var en COM- eller ActiveX- komponent .
JavaBean-beskrivelsesregler
For at en klasse skal fungere som en bønne, skal den følge visse metodenavne-, konstruktør- og adfærdskonventioner. Disse konventioner muliggør oprettelsen af værktøjer, der kan bruge, erstatte og forbinde JavaBeans.
Beskrivelsesreglerne er:
- Klassen skal have en parameterløs konstruktør med en adgangsmodifikator public. En sådan konstruktør tillader værktøjer til at skabe et objekt uden den ekstra kompleksitet af parametre.
- Klasseegenskaber skal være tilgængelige via get, setog andre metoder (kaldet accessor methods ), som skal følge standardnavnekonventionen. Dette giver nemt værktøjer til automatisk at registrere og opdatere bønneindhold. Mange værktøjer har endda specialiserede editorer til forskellige typer ejendomme.
- Klassen skal kunne serialiseres . Dette gør det muligt pålideligt at gemme, gemme og gendanne bean-tilstand på en platform- og virtuel maskine-uafhængig måde.
- Klassen skal have metoderne equals(), hashCode() og toString() tilsidesat.
Da kravene for det meste udtrykkes som en konvention snarere end en grænseflade , anser nogle udviklere JavaBeans for at være almindelige gamle Java-objekter , der følger visse navnekonventioner.
Eksempler
// PersonBean.java
public class PersonBean implementerer java . io . Serialiserbar {
privat strengnavn ; _
privat boolesk afdøde ;
public PersonBean () {
}
// Metoder getters (get) og setters (set)
public String getName () {
returnere navn ;
}
public void setName ( String name ) {
dette . navn = navn ;
}
public boolean getDeceased () {
vende tilbage afdøde ;
}
public void setDeceased ( boolean deceased ) {
dette . afdøde = afdøde ;
}
//Overstyret er lig med() og hashCode() metoder
@Tilsidesæt
public boolean lig med ( Object o ) {
hvis ( dette == o ) {
returnere sandt ;
}
if ( o == null || getClass () != o . getClass ()) {
returnere falsk ;
}
PersonBean at = ( PersonBean ) o ;
hvis ( afdøde != at . afdøde ) {
returnere falsk ;
}
returnere ! ( navn != null ? ! navn . er lig med ( det . navn ) : det . navn != null );
}
@Tilsidesæt
public int hashCode () {
int resultat = navn != null ? navn . hashkode ( ) : 0
resultat = 31 * resultat + ( død ? 1 : 0 );
returnere resultat ;
}
//Overridden toString() metode
@Tilsidesæt
public String toString () {
returner "PersonBean{" +
"name='" + navn + '\'' +
", deceased=" + afdøde +
'}' ;
}
}
// TestPersonBean.java
offentlig klasse TestPersonBean {
public static void main ( String [] args ) {
PersonBean person = ny PersonBean ();
person . setName ( "Bob" );
person . setDeceased ( sandt );
// Resultat: "Bob [død]"
System . ud . print ( person.getName ( ) );
System . ud . println ( person . getDeceased () ? " [deceased]" : " [live]" );
}
}
Noter
- ↑ JavaBeans- specifikationen ? . www.oracle.com . Hentet 31. marts 2021. Arkiveret fra originalen 16. april 2021. (ubestemt)