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

  1. Encapsulación: El atributo speed está protegido y solo puede ser manipulado por métodos de la clase.
  2. Control de acceso: Aunque licensePlate es público, speed solo se modifica de forma controlada.
  3. Seguridad: Evita estados inválidos o inconsistentes al restringir modificaciones directas a atributos internos.
  4. 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...