Junior
Mi a különbség egy normál objektum és egy JavaBean között?
sobes.tech MI
Válasz az MI-től
A különbség a névkonvenciók betartásában rejlik (nagybetű a "get/set/is" után) az értékhez való hozzáférő metódusoknál, a paraméter nélküli konstruktor meglétében és a sorosíthatóságban. Ez lehetővé teszi JavaBean-ek használatát olyan keretrendszerekkel és eszközökkel, amelyek az introspekcióra épülnek.
Egy normál objektum nem feltétlenül követi ezeket a szabályokat.
public class SimpleObject {
private String name;
public SimpleObject(String name) { // Bármilyen konstruktor
this.name = name;
}
public String retrieveName() { // Nem szabványos get név
return name;
}
}
import java.io.Serializable;
public class JavaBean implements Serializable { // Sorosítható
private String name;
public JavaBean() { // Argumentum nélküli konstruktor
}
public String getName() { // Szabványos getter név
return name;
}
public void setName(String name) { // Szabványos setter név
this.name = name;
}
}
Fő különbségek:
| Kritérium | Normál objektum | JavaBean |
|---|---|---|
| Argumentum nélküli konstruktor | Nem kötelező | Kötelező |
| Metódusok neve | Bármilyen | get/set/is + tulajdonság neve |
| Sorosíthatóság | Nem kötelező | Ajánlott/Kötelező néhány keretrendszer számára |
| Használat | Általános cél | Komponens modell, keretrendszerek (Spring, EJB) |