Sobes.tech
Junior — Middle

¿Puede explicar el concepto de ocultación de datos dentro de objetos en programación orientada a objetos?

sobes.tech AI

Respuesta de la IA

El ocultamiento de datos (encapsulación) en programación orientada a objetos significa restringir el acceso a los estados internos del objeto y proporcionar acceso a ellos solo a través de los métodos (funciones) del objeto.

Esto permite proteger los datos del uso y cambios incorrectos desde el exterior, manteniendo la integridad del objeto.

Por ejemplo, en JavaScript (Node.js) se pueden usar campos y métodos privados:

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', 'secret');
console.log(user.name); // Alice
console.log(user.#password); // Error: campo privado
console.log(user.checkPassword('secret')); // true

De esta manera, los datos internos (por ejemplo, la contraseña) están ocultos del acceso directo, y la interacción con ellos se realiza a través de métodos controlados.