Junior — Middle
Pode explicar o conceito de encapsulamento na programação orientada a objetos?
sobes.tech IA
Resposta da IA
O encapsulamento é um princípio da programação orientada a objetos que consiste em combinar dados (propriedades) e métodos que trabalham com esses dados dentro de um mesmo objeto ou classe. Permite esconder o estado interno do objeto e fornecer acesso a ele apenas através de métodos específicos (getters e setters), o que protege os dados de alterações diretas externas.
Por exemplo, em JavaScript, pode-se criar uma propriedade privada usando um símbolo ou seguir uma convenção com sublinhado:
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); // Erro, acesso negado
console.log(user.checkPassword('12345')); // true
Assim, o encapsulamento ajuda a controlar o acesso aos dados, aumenta a segurança e simplifica a manutenção do código.