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

Estou com dúvida no curso de Aprimorando a Orientação a Objetos com Java, no exercício do capítulo Herança: quando não usar.

Se a classe Pagamento implementar todas as funcionalidades de Movimentacao, ainda assim é melhor usar composição ao invés de herança? Quando seria melhor utilizar herança para reaproveitar o código?

4 respostas

Dificilmente queremos que nossa classe herde todos os comportamentos da classe mãe, pois perdemos o controle sobre como aquilo é executado.

Aqui tem um artigo debatendo isto: http://blog.caelum.com.br/como-nao-aprender-orientacao-a-objetos-heranca/

Não é questão de que dificilmente queremos que a classe herde todos os comportamentos da classe mãe, pois a herança é algo que a linguagem define, sendo assim se "ta ali" é pra ser usada. Agora o momento certo para a utilização da herança é quando ela respeita a regra do "é um" e também você tem a plena [b]certeza[/b] que quer que a sua classe filha herde todas as características e ações da classe pai, neste caso é aconselhado usar herança. Tem muita discussão a respeito, alguns dizem que não é bom usar e preferem sempre a composição e outros preferem usar.

Existe um conceito no JAVA chamado de Adapters. Eh bom dar uma pesquisada.

solução!

Pensa assim... Em geral podemos usar a herança quando faz sentido no mundo real e não pra reaproveitar código, o reaproveitamento acaba sendo uma consequência. mas como escreveu o Caio, o um lugar pra aprender mais é no link do blog da caelum

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