Junior
¿Cuál es la diferencia entre un objeto normal y un JavaBean?
sobes.tech AI
Respuesta de la IA
La diferencia radica en el cumplimiento de las convenciones de nomenclatura (letra mayúscula después de "get/set/is") para los métodos de acceso a propiedades, la presencia de un constructor sin argumentos y la serialización. Esto permite usar JavaBeans con frameworks y herramientas basadas en la introspección.
Un objeto normal puede no seguir estas reglas.
public class SimpleObject {
private String name;
public SimpleObject(String name) { // Cualquier constructor
this.name = name;
}
public String retrieveName() { // No es una nomenclatura estándar de get
return name;
}
}
import java.io.Serializable;
public class JavaBean implements Serializable { // Serializable
private String name;
public JavaBean() { // Constructor sin argumentos
}
public String getName() { // Nomenclatura estándar del getter
return name;
}
public void setName(String name) { // Nomenclatura estándar del setter
this.name = name;
}
}
Diferencias clave:
| Criterio | Objeto normal | JavaBean |
|---|---|---|
| Constructor sin args | No obligatorio | Obligatorio |
| Nomenclatura de métodos | Cualquier | get/set/is + nombre de la propiedad |
| Serialización | No obligatorio | Deseable/Obligatorio para algunos frameworks |
| Uso | Propósito general | Modelo de componentes, frameworks (Spring, EJB) |