Sobre Java OO

Por que, em Java, se deve priorizar o uso de interfaces, ao invés de herança
com classes?

  • Ambas permitem polimorfismo.

  • Interfaces permitem herança múltipla e classes não.

  • Interfaces são importantes quando precisa garantir que todas as classes que implementam tenham os mesmos métodos, pois existe a obrigatoriedade de implementar na classe todas as assinaturas de métodos da interface.

  • Herança de classe é importante para reuso de código. Você tem classes com atributos/comportamentos em comum e cria uma classe generalista da qual todas herdam, assim não precisando repetir código.

Ou seja, você prioriza de acordo com o que precisa no seu projeto.

A partir do momento que você usa a instância de um objeto , você está reutilizando código.

A herança de classes gera um alto acoplamento o que por consequência vai dificultar manutenções futuras no sistema.

Herança não é reutilização e gera um alto acoplamento.

É muito mais flexível usar herança de interfaces, e realizar a implementação através de composição de classes.

1 curtida

Obrigado pela correção.