JavaBean: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Sostituita la categoria Categoria:Java con Categoria:Linguaggio Java (con HotCat)
m Annullata la modifica di 188.218.78.8 (discussione), riportata alla versione precedente di 193.206.220.2
Etichetta: Rollback
 
(53 versioni intermedie di 42 utenti non mostrate)
Riga 1:
{{S|informaticaJava}}
LeIn [[informatica]] le '''JavaBean''' (letteralmente, chicchi di [[Java (caffè)|Java]]) sono [[classe (informatica)|classi]] scritte in [[Java (linguaggio di programmazione)| linguaggio di programmazione Java]] secondo una particolare convenzione. Sono usateutilizzate per incapsulare moltipiù [[Oggetto (informatica)|oggetti]] in un singolo oggetto singolo (il bean), cosìcosicché datali poteroggetti passarepossano ilessere passati come un singolo oggetto bean invece degliche come multipli oggetti individuali. La specifica della [[Sun Microsystems]] le definisce come "''componenti software riutilizzabili che possono essere manipolate visivamente in un tool per il build''".
 
La specifica della [[Sun Microsystems]] le definisce come "componenti software riusabili che possono essere manipolate visivamente in un tool per il build".
 
== Convenzioni JavaBean ==
Al fine di funzionare come una [[Classe (informatica) | classe]] JavaBean, una classe di un oggetto deve obbedire a certe convenzioni in merito ai [[identificatore|nomi]], alla costruzione e al comportamento dei [[metodo (informatica)|metodi]]. Queste convenzioni rendono possibile avere tool che possono usare, riusare, sostituire e connettere JavaBean.
 
Le convenzioni richieste sono:
 
* La classe deve avere un [[Costruttore (programmazioneinformatica)|costruttore]] senza argomenti;
* Le sue proprietà devono essere accessibili usando get, set, is (usato per i booleani al posto di get) e altri metodi (così detticosiddetti [[accessoriMetodo (programmazione)#Metodi di accesso|metodi accessori]]) seguendo una convenzione standard per i nomi;
* La classe dovrebbe essere [[Serializzazione | serializzabile ]] (capace di salvare e ripristinare il suo stato in modo persistente);
* Non dovrebbe contenere alcun metodo richiesto per la gestione degli eventi;
 
Dato che questi requisiti sono abbondantemente espressi come convenzioni piuttosto che implementando [[Interfaccia (informatica) | interfacce]], qualche sviluppatore vede le JavaBean come [[Plain Old Java Object]] (POJO) che seguono alcune convenzioni per i nomi.
 
== Esempio di JavaBean ==
<sourcesyntaxhighlight lang="java">
// PersonaBean.java
 
Line 23 ⟶ 21:
private String nome;
private boolean decedutosposata;
 
// Costruttore senza argomenti.
public void PersonaBean() { }
}
 
// Proprietà "nome" (da notare l'uso della maiuscola) lettura / scrittura
Line 37 ⟶ 34:
}
 
// Diversa sintassi per gli attributoattributi boolean ( 'is' al posto di 'get' )
public boolean isDecedutoisSposata() {
return this.decedutosposata;
}
public void setDecedutosetSposata(boolean decedutosposata) {
this.decedutosposata = decedutosposata;
}
}
</syntaxhighlight>
</source>
 
<sourcesyntaxhighlight lang="java">
// TestPersonaBean.java
 
Line 55 ⟶ 52:
PersonaBean persona = new PersonaBean();
persona.setNome("Bob");
persona.setDecedutosetSposata(false);
 
// Output: "Bob [vivopersona non sposata]"
System.out.print(personpersona.getNome());
System.out.println(personpersona.isDecedutoisSposata() ? " [decedutopersona sposata]" : " [vivopersona non sposata]");
}
}
</syntaxhighlight>
</source>
 
==Approvazioni Applicazioni ==
[[Abstract WindowingWindow Toolkit|AWT]], [[Swing (Java)|Swing]], e [[Standard Widget Toolkit|SWT]], i principali toolkit per [[GUI]] in Java, usano convenzioni JavaBean soprattutto per ila propriloro componenti,dinamicità chee per la loro portabilità. Essi consentono poi agli editor di [[GUI]] come il Visual Editor di [[Eclipse (informatica)|Eclipse]] e il [[GUI]] Editor di [[NetBeans]] di mantenere una gerarchia di componenti e fornire accesso alle loro proprietà attraverso metodi della famiglia get e set.
 
== Voci correlate ==
* Per una discussione lato-server su JavaBean vedere le [[Enterprise JavaBeanJavaBeans]].
* [[Widget (computing)|Widgets]]
* Per una discussione lato-server su JavaBean vedere le [[Enterprise JavaBean]].
 
==Collegamenti esterni==
*[http://java.sun.com/products/javabeans/ Pagina del prodotto JavaBeans della Sun]
*[http://java.sun.com/products/javabeans/learning/tutorial/index.html Tutorial per le JavaBeans della Sun]
*[http://codeidol.com/java/netbeans/ Panoramica su Enterprise JavaBeans 3.0]
*[http://elegantjbeans.com/ Esempi di JavaBean]
 
== Collegamenti esterni ==
[[Categoria:Linguaggio Java]]
*[ {{cita web|http://java.sun.com/products/javabeans/ |Pagina del prodotto JavaBeans della Sun]}}
*[ {{cita web|http://java.sun.com/products/javabeans/learning/tutorial/index.html |Tutorial per le JavaBeans della Sun]}}
*[ {{cita web|http://codeidol.com/java/netbeans/ |Panoramica su Enterprise JavaBeans 3.0]}}
 
[[caCategoria:JavaBeansJava]]
[[cs:Java Bean]]
[[de:JavaBeans]]
[[en:JavaBean]]
[[es:JavaBeans]]
[[fr:JavaBeans]]
[[ja:Java Beans]]
[[ko:자바빈즈]]
[[nl:JavaBeans]]
[[pl:JavaBeans]]
[[pt:JavaBeans]]
[[ru:JavaBeans]]