Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

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?

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
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 ?