Questão de Lógica de Programação
É comum autores e gurus da orientação a objetos relatarem problemas e tecerem críticas com relação ao uso da herança entre classes em detrimento de outros recursos disponíveis. Um princípio básico defendido por esses autores é “dar prioridade à composição”, preferindo sempre a relação de “tem-um” à relação de “é-um”. Qual o motivo que leva esses autores a sugerirem que a herança deveria ser utilizada com mais prudência e em poucas situações?
A
A herança é um mecanismo importante quando um grupo de classes apresenta a mesma interface, mas a implementação interna dos métodos é diferente. Contudo a reescrita dos métodos da superclasse impossibilita a invocação dos métodos originais que foram herdados.
B
A utilização de herança para fins de reutilização somente é aplicada devidamente quando se tratam de manutenções nos códigos legados, ou seja, aqueles já existentes no programa.
C
Por ser uma relação dinâmica, a herança é estabelecida em tempo de execução e não de compilação e, por isso, o código não pode sofrer alterações facilmente.
D
Herança é considerada a ferramenta básica de extensão e reúso de funcionalidades, porém há uma compreensão de que esse mecanismo torna o encapsulamento entre as classes fraco e o acoplamento forte, o que viola o princípio básico da alta coesão com baixo acoplamento.
E
A herança não permite alterar as associações entre classes em tempo de execução e também não permite que um objeto assuma mais de um comportamento. Por outro lado, a herança diminui demasiadamente o acoplamento entre as classes.
Ainda não há comentários para esta questão.
Seja o primeiro a comentar!
Aulas em vídeo Em breve
00:00