Sobes.tech
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.