Codigo limpio y refactorización
Encapsulación consiste en proteger los datos de un objeto para que no puedan ser manipulados directamente desde fuera, exponiendo solo lo necesario mediante métodos o propiedades controladas.
Ejemplo Malo: Sin Encapsulación
1public class Car { 2 public String licensePlate; // Accesible desde cualquier parte 3 public int speed; // Modificable sin control, puede causar inconsistencias 4 5 public void accelerate() { 6 speed += 10; 7 } 8}
Ejemplo Corregido: Encapsulación con Atributos Públicos y Privados
Beneficios
- Encapsulación: El atributo
speedestá protegido y solo puede ser manipulado por métodos de la clase. - Control de acceso: Aunque
licensePlatees público,speedsolo se modifica de forma controlada. - Seguridad: Evita estados inválidos o inconsistentes al restringir modificaciones directas a atributos internos.
- Flexibilidad: Puedes cambiar la lógica interna de los atributos privados sin afectar a quienes usan la clase.
1public class Car { 2 public String licensePlate; // Público porque es necesario acceder desde fuera 3 private int speed; // Privado para control interno 4 5 public Car(String licensePlate) { 6 this.licensePlate = licensePlate; 7 this.speed = 0; 8 } 9 10 public void accelerate() { 11 speed += 10; 12 } 13 14 public int getSpeed() { 15 return speed; 16 } 17}
- Loading...