JavaBean: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Annullata la modifica di 188.218.78.8 (discussione), riportata alla versione precedente di 193.206.220.2
Etichetta: Rollback
 
(67 versioni intermedie di 51 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é chetali questo beanoggetti possapossano essere passatopassati ovunquecome piuttostoun singolo oggetto bean invece che acome 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 riusabile che può essere manipolato visivamente in un tool per il build".
 
== Convenzioni JavaBean ==
Al fine di funzionare come una [[Classe (informatica) | classe]] JavaBean, ununa classe di un oggetto deve obbedire a certe convenzioni in merito ai metodi per i [[identificatore|nomi]], peralla icostruzione costrutti,e per ilal 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 ==
<syntaxhighlight lang="java">
<pre>
// PersonBeanPersonaBean.java
 
public class PersonBeanPersonaBean implements java.io.Serializable {
private String namenome;
private boolean deceasedsposata;
 
// Costruttore senza argomenti
// No-arg constructor (takes no arguments).
public PersonBeanPersonaBean() { }
}
 
// Proprietà "nome" (da notare l'uso della maiuscola) lettura / scrittura
public String getNamegetNome() {
return this.namenome;
}
public void setNamesetNome(String namenome) {
this.namenome = namenome;
}
 
// DifferentDiversa semanticssintassi forper agli attributi boolean field ( 'is' vs.al posto di 'get' )
public boolean isDeceasedisSposata() {
return this.deceasedsposata;
}
public void setDeceasedsetSposata(boolean deceasedsposata) {
this.deceasedsposata = deceasedsposata;
}
}
</syntaxhighlight>
</pre>
 
<syntaxhighlight lang="java">
<pre>
// TestPersonBeanTestPersonaBean.java
 
public class TestPersonBeanTestPersonaBean {
public static void main(String[] args) {
 
PersonBeanPersonaBean personpersona = new PersonBeanPersonaBean();
personpersona.setNamesetNome("Bob");
personpersona.setDeceasedsetSposata(false);
 
// Output: "Bob [alivepersona non sposata]"
System.out.print(personpersona.getNamegetNome());
System.out.println(personpersona.isDeceasedisSposata() ? " [deceasedpersona sposata]" : " [alivepersona non sposata]");
}
}
</syntaxhighlight>
</pre>
 
==Approvazioni==
[[Abstract Windowing Toolkit|AWT]], [[Swing (Java)|Swing]], e [[Standard Widget Toolkit|SWT]], i principali toolkig per [[GUI]] in Java, usano convenzioni JavaBean per i propri componenti, che consentono agli editor di GUI come l'[[|Eclipse|Editor Visuale Eclipse]] di mantenere una gerarchia di componenti e fornire accesso alle loro proprieta via attraverso metodi della famiglia get e set.
 
== Vedi ancheApplicazioni ==
[[Abstract WindowingWindow Toolkit|AWT]], [[Swing (Java)|Swing]], e [[Standard Widget Toolkit|SWT]], i principali toolkigtoolkit 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 l'il Visual Editor di [[|Eclipse (informatica)|Eclipse]] e il [[GUI]] Editor Visualedi Eclipse[[NetBeans]] di mantenere una gerarchia di componenti e fornire accesso alle loro proprieta viaproprietà attraverso metodi della famiglia get e set.
* [[Widget (computing)|Widgets]]
* Per una discusione lato-server su JavaBean vedere le [[Enterprise JavaBean]].
 
== Voci correlate ==
==Collegamenti esterni==
* Per una discusionediscussione lato-server su JavaBean vedere le [[Enterprise JavaBeanJavaBeans]].
*[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: Programmazione]]
*[ {{cita web|http://java.sun.com/products/javabeans/ |Pagina del prodotto JavaBeans della Sun]}}
[[Categoria: Sun]]
*[ {{cita web|http://java.sun.com/products/javabeans/learning/tutorial/index.html |Tutorial per le JavaBeans della Sun]}}
[[Categoria: Java]]
*[ {{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]]