Sobes.tech
Junior — Middle

Pode explicar o conceito de ocultação de dados dentro de objetos na programação orientada a objetos?

sobes.tech IA

Resposta da IA

Ocultação de dados (encapsulamento) na programação orientada a objetos significa restringir o acesso aos estados internos do objeto e fornecer acesso a eles apenas através dos métodos (funções) do objeto.

Isto permite proteger os dados de uso e alterações incorretas de fora, mantendo a integridade do objeto.

Por exemplo, em JavaScript (Node.js), pode-se usar campos e 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); // Erro: campo privado
console.log(user.checkPassword('secret')); // true

Dessa forma, os dados internos (por exemplo, a senha) estão ocultos do acesso direto, e a interação com eles ocorre através de métodos controlados.