Junior — Middle
¿Puedes explicar el concepto de encapsulación en programación orientada a objetos?
sobes.tech AI
Respuesta de la IA
El encapsulamiento es un principio de la programación orientada a objetos que consiste en combinar datos (propiedades) y métodos que trabajan con esos datos dentro de un mismo objeto o clase. Permite ocultar el estado interno del objeto y proporcionar acceso a él solo a través de métodos específicos (getters y setters), lo que protege los datos de cambios directos desde el exterior.
Por ejemplo, en JavaScript se puede hacer una propiedad privada usando un símbolo o siguiendo una convención con guiones bajos:
class User {
#password; // campo privado
constructor(name, password) {
this.name = name;
this.#password = password;
}
checkPassword(input) {
return input === this.#password;
}
}
const user = new User('Alice', '12345');
console.log(user.name); // Alice
console.log(user.#password); // Error, acceso denegado
console.log(user.checkPassword('12345')); // true
De esta forma, el encapsulamiento ayuda a controlar el acceso a los datos, aumenta la seguridad y simplifica el mantenimiento del código.