Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Herança quebrando encapsulamento

Foi dito na aula que a equipe Caelum concorda com o fato de que, em muitos casos, a herança quebra o encapsulamento. Isso me pareceu um pouco confuso, poderiam me esclarecer melhor essa quebra, e se possivel, exemplificar?

3 respostas

Oi Thiago, tudo bem ?

Algumas vezes realmente ela acaba quebrando, pensa no exemplo de termos um atributo privado e sem o setter na classe mãe, ok ? Agora criamos uma classe filha que estende da classe mãe, perfeito ? Quando fizemos isso, a classe filha tem acesso a todos os métodos e atributos da classe mãe, ou seja, pode alterar totalmente os comportamentos, por exemplo aquele atributo privado que não tinha o setter.

Olá, Matheus. Obrigado por reponder. Mas, nesse caso, já não poderia dizer que a classe mãe não segue as boas práticas do encapsulamento? Visto que, embora o atributo seja privado, seria bom que existisse um setter. Ao meu ver, a classe mãe não está bem encapsulada, então a herança apenas "repassou" o erro para as classes filhas. É isso que chamamos de quebra do encapsulamento pela herança ? Mesmo que a classe já não esteja bem encapsulada ?

solução!

Thiago, tudo bem ?

Então cara, isso é um pouco complicado de falar, porque na minha opnião encapsulamento não é só deixar o campo privado e criar getter e setter, porque pensa bem, a única diferença é que você não acessa ele diretamente, contudo atráves do setter pode sempre ficar manipulando aquele valor. Entende ?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software