Como en cualquier clase, un componente tendrá definido un estado a partir de un conjunto de atributos. Los atributos son variables definidas por su nombre y su tipo de datos que toman valores concretos. Normalmente los atributos son privados y no se ven desde fuera de la clase que implementa el componente, se usan sólo a nivel de programación.
Las propiedades son un tipo específico de atributos que representan características de un componente que afectan a su apariencia o a su comportamiento. Son accesibles desde fuera de la clase y forman parte de su interfaz. Suelen estar asociadas a un atributo interno.
Una propiedad no es exactamente un atributo público, sino que tiene asociados ciertos métodos que son la única manera de poder modificarla o devolver su valor y que pueden ser de dos tipos:
- getter: permiten leer el valor de la propiedad. Tienen la estructura:
public <TipoPropiedad> get<NombrePropiedad>( )
- si la propiedad es booleana el método getter se implementa así:
public boolean is<NombrePropiedad>()
- Setter: permiten establecer el valor de la propiedad. Tiene la estructura:
public void set<NombrePropiedad>(<TipoPropiedad> valor)
Si una propiedad no incluye el método set entonces es una propiedad de sólo lectura.
Por ejemplo, si estamos generando un componente para crear un botón circular con sombra, podemos tener, entre otras, una propiedad de ese botón que sea color, que tendría asociados los siguientes métodos:
public void setColor(String color)
public String getColor()
Es en computación aquel que puede representar valores de lógica binaria, esto es 2 valores, que normalmente representan falso o verdadero