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

Na aula 5 - Por que a escolha por uma interface ou invés de uma herança

Boa noite, em um tópico anterior o Thiago Paschoal me fez voltar nessa aula para refletir. O instrutor optou pela criação de uma interface chamada "Documento" que é implementada pelas classes Cpf e Cnpj. Não seria esse o caso de usar herança ao invés da interface, já que Cpf É UM Documento e Cnpj também É UM documento? Citando os exemplos que foram mostrados, caso eu criasse uma classe Cnh, ela também não É UM Documento? Por que então a escolha foi por uma interface ao invés de uma herança?

Obrigado novamente, pessoal!

3 respostas

Oi Fábio, de vez em quando os conceitos se confundem :). Interface também é uma forma de você definir uma relação do tipo "É UM". Cpf é um documento, então documento pode ser uma interface, classe abstrata, concreta etc..

Então nesse caso tanto faz a minha escolha? Eu leio em muitos lugares para evitar a herança sempre que possível, mas aparentemente então eu posso evitá-la sempre assim (ou pelo menos em 99% dos casos), né?

solução!

Oi Fábio, quase sempre você pode evitar sim :). A galera fala para evitar justamente por conta do acoplamento que gera com a classe mãe... mas é sempre bom analisar :).

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