Java / Clases / Encapsulación
Encapsulación en Java
Java / Clases / Encapsulación
¿Qué es la Encapsulación?
Siguiendo con el ejemplo de las motos que planteamos en POO, hay datos que no deberían poder modificarse libremente desde fuera, como la velocidad o la velocidad máxima. Si cualquiera pudiera cambiarlos, podría poner la moto a 500 km/h o a -20 km/h.
La encapsulación consiste en proteger esos datos con private y ofrecer métodos controlados (public) para consultarlos o modificarlos respetando las reglas de la moto.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Moto {
private int velocidad;
private int velocidadMaxima = 180;
public void acelerar(int cantidad) {
if (cantidad <= 0) {
return; // no se acelera con valores negativos o cero
}
if (velocidad + cantidad <= velocidadMaxima) {
velocidad = velocidad + cantidad;
} else {
velocidad = velocidadMaxima;
}
}
public int getVelocidad() {
return velocidad;
}
}
De esta forma nadie podría hacer: moto.velocidad = 500; desde fuera. La moto controla sus propias reglas.
This post is licensed under CC BY 4.0 by the author.