Sobre boas práticas em Orientação a Objetos, considerando o...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: B - o uso da herança, em alguns casos, pode acarretar a quebra do encapsulamento.
A herança é um conceito fundamental na programação orientada a objetos que permite a uma classe herdar propriedades e métodos de outra classe. No entanto, é importante ter cautela ao utilizá-la, pois o acesso descontrolado a membros protegidos ou privados de uma classe base (superclasse) pode levar a situações onde detalhes de implementação, supostamente ocultos, são expostos através das classes derivadas (subclasses).
O encapsulamento, por sua vez, é uma técnica que consiste em ocultar os detalhes internos do funcionamento dos objetos, expondo apenas as operações seguras e necessárias para a utilização da classe. O objetivo do encapsulamento é simplificar o uso dos objetos e proteger os dados internos de manipulações indevidas.
Quando uma subclasse acessa diretamente os campos ou métodos internos da sua superclasse, estamos potencialmente abrindo exceções no encapsulamento que esta classe base procurou garantir. Isso pode levar a uma dependência direta entre a implementação da classe base e todas as subclasses, o que pode resultar em um sistema frágil e difícil de manter, já que mudanças na superclasse podem ter efeitos colaterais em todas as subclasses que dela dependem diretamente.
Portanto, a alternativa B está correta porque reconhece que a herança, apesar de ser uma ferramenta poderosa, pode ter efeitos indesejados sobre o encapsulamento se não for usada com prudência, respeitando os princípios do encapsulamento e da abstração.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Letra b correta.
Fonte: http://blog.caelum.com.br/como-nao-aprender-orientacao-a-objetos-heranca/
A) Errada. referenciar objetos pela sua interface diminui (não favorece) o acoplamento.
B) As subclasses têm que conhecer detalhes da superclasse para implementar seus métodos, com isso prejudica-se o encapsulamento.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo