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

Dúvida: utilização herança x interface

Olá pessoal,

Tanto na explicação quanto no exercício 1, por exemplo, é aconselhado utilizar interface ao invés de herança. Dúvidas:

  1. A interface não substitui completamente a herança, uma vez que os atributos em comum (no meu entendimento não podem ser declarados na interface), e os getters and setters (no meu entendimento não seria vantajoso e penso que nem correto declará-los na interface, pois se repetirão nas classes que implementarem a interface) continuarão sendo herdados da classe pai, correto?

  2. É possível classes filhas herdarem uma classe pai com interface? Se sim, as classes filhas também precisarão implementar a interface?

Desde já obrigado!

Atte., Elías.

3 respostas
solução!

Boa noite Elias, Herança geralemente se usa quando você tem uma Conta, e depois tem ContaCorrente, ContaPoupanca, podemos usar a herança para a sua ContaCorrente e ContaPoupanca herdarem de Conta, os programadores usam muito mais interface doque herança, e sim é possivel classe filho herdarem do pai a interface, basta no pai colocar a implements interface, e depois basta usar ContaCorrente extends Conta, assim você ira passar a usar a interface, como você ja ta herdando de Conta e você ja definiu a interface la, não sera necessario implementar nas classes filhos

Olá Alisson,

Você comentou que os programadores usam muito mais interface do que herança, mas isso só é possível para métodos, correto? Porém, atributos equivalentes em classes filhas e getters e setters devem ser considerados na classe pai e serem herdados, não tem como fugir disso, ou existiria alguma outra forma além da herança?

É possível sim que "herdem" atributos e métodos escritos na própria classe pai. Caso a classe filha também necessite utilizar o método da interface, terá que implementá-la também. Exemplo:

public MeioQuadrado extends Quadrado implements AreaCalculavel {

}