Junior
Em que consiste o conceito de encapsulamento na programação?
sobes.tech IA
Resposta da IA
O sentido da encapsulação na programação consiste em combinar dados e métodos para trabalhar com eles num único objeto e ocultar a implementação interna do mundo exterior. Isto permite controlar o acesso aos dados, protegê-los de alterações incorretas e simplificar a manutenção do código, tornando-o mais modular e flexível.
As principais vantagens da encapsulação:
- Ocultação de dados: O estado interno do objeto é acessível apenas através de métodos específicos (getters e setters).
- Controle de acesso: Pode aplicar lógica de validação ao modificar os dados.
- Redução do acoplamento: As mudanças na implementação interna de um objeto não requerem alterações em outros objetos que o utilizam, desde que a interface de interação permaneça inalterada.
- Melhoria na manutenção: O código torna-se mais compreensível e fácil de modificar.
Exemplo em JavaScript:
class User {
constructor(name, age) {
this._name = name; // Propriedade privada (convencional, não obrigatória em JS até campos privados)
this._age = age;
}
getName() { // Getter para name
return this._name;
}
getAge() { // Getter para age
return this._age;
}
setAge(newAge) { // Setter para age com validação
if (newAge > 0) {
this._age = newAge;
} else {
console.error("A idade deve ser maior que zero.");
}
}
}
const user = new User("Ivan", 30);
console.log(user.getName()); // Acesso através do getter: Ivan
user.setAge(31); // Alteração através do setter com validação
console.log(user.getAge()); // Acesso através do getter: 31
user.setAge(-5); // Erro ao tentar alteração incorreta