Junior
Aký je rozdiel medzi bežným objektom a JavaBean?
sobes.tech AI
Odpoveď od AI
Rozdiel spočíva v dodržiavaní konvencií pomenovania (veľké písmeno po "get/set/is") pre prístupové metódy k vlastnostiam, v prítomnosti bezparametrického konštruktora a serializovateľnosti. To umožňuje používať JavaBeans s frameworkmi a nástrojmi založenými na introspekcii.
Bežný objekt nemusí tieto pravidlá dodržiavať.
public class SimpleObject {
private String name;
public SimpleObject(String name) { // Akýkoľvek konštruktor
this.name = name;
}
public String retrieveName() { // Nefštandardné pomenovanie get
return name;
}
}
import java.io.Serializable;
public class JavaBean implements Serializable { // Serializovateľný
private String name;
public JavaBean() { // Konštruktor bez argumentov
}
public String getName() { // Štandardné pomenovanie getter
return name;
}
public void setName(String name) { // Štandardné pomenovanie setter
this.name = name;
}
}
Kľúčové rozdiely:
| Kritérium | Bežný objekt | JavaBean |
|---|---|---|
| Konštruktor bez args | Nie je povinný | Povinný |
| Názov metódy | Akýkoľvek | get/set/is + názov vlastnosti |
| Serializovateľnosť | Nie je povinná | Želaná/Povinná pre niektoré frameworky |
| Použitie | Všeobecné určenie | Komponentný model, frameworky (Spring, EJB) |