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.