- Autor

- Nombre
- Nelson Silva
- Social
Introducción
En Java, la encapsulación es uno de los pilares fundamentales de la programación orientada a objetos. A través de las propiedades, usando métodos getter y setter, este pilar se materializa. Estas funciones permiten un control granular sobre cómo se accede y modifica la información de un objeto.
- ¿Por qué usar Propiedades?
- Cómo Implementar
- Buenas Prácticas al usar Propiedades
- Ejemplo Práctico
- Consejos Adicionales
¿Por qué usar Propiedades?
1. Control sobre los datos
Es posible validar o modificar datos antes de que sean almacenados o retornados.
2. Flexibilidad
Los cambios internos en los métodos getter y setter pueden realizarse sin alterar la forma en que un objeto se usa externamente.
3. Seguridad
Limita el acceso directo a los campos de datos, garantizando su integridad.
Cómo Implementar
Una implementación común implica declarar un campo privado con métodos públicos para obtener (get) y establecer (set) los valores.
public class Ejemplo {
private String nombre;
// Getter
public String getNombre() {
return nombre;
}
// Setter
public void setNombre(String nombre) {
if(nombre != null && !nombre.trim().isEmpty()) {
this.nombre = nombre;
} else {
throw new IllegalArgumentException("Nombre inválido");
}
}
}
Buenas Prácticas al usar Propiedades
- Validación de Datos: Siempre valida los datos en el método setter antes de asignarlos al campo.
- Encapsulación Consistente: Evita exponer campos directamente. Utiliza getters y setters.
- Documentación: Documenta la función y las restricciones de cada propiedad.
- Nomenclatura Conveniente: Usa convenciones de nomenclatura consistentes para las propiedades. Generalmente, se usan métodos que comienzan con "get" y "set".
Ejemplo Práctico
Veamos un ejemplo en el que implementamos una clase Propiedades que representa a una persona con nombre, apellido y edad.
package com.caffeinealgorithm.programaremjava;
public class Propiedades {
private String primerNombre = "", apellido = "";
private int edad = 28;
public void setPrimerNombre(String primerNombre) {
if (primerNombre != "")
this.primerNombre = primerNombre;
else
System.out.println("La cadena del primer nombre no puede estar vacía.");
}
public void setApellido(String apellido) {
if (apellido != "")
this.apellido = apellido;
else
System.out.println("La cadena del apellido no puede estar vacía.");
}
public int getEdad() {
return edad;
}
public void informacion() {
System.out.printf("Nombre: %s %s\n", primerNombre, apellido);
}
}
Consejos Adicionales
- Inmutabilidad: En ciertos escenarios, puede ser beneficioso crear propiedades de solo lectura, reforzando el concepto de inmutabilidad.
- Rendimiento: Ten cuidado al implementar lógica compleja en getters y setters, ya que esto puede afectar al rendimiento.
- Propiedades Calculadas: Además de simplemente retornar un campo, los getters pueden usarse para calcular y retornar un valor basado en múltiples campos.
Conclusión
Las propiedades, cuando se utilizan correctamente, enriquecen el código, haciéndolo seguro, flexible y de fácil mantenimiento. En Java, los métodos getter y setter son la forma estándar de implementar esta característica. Al dominarlos, garantizas robustez y claridad en tus aplicaciones.