Amigos, bom dia.
Como decidir entre utilizar classe abstrata ou interface?
O uso de interface seria mais para quando se precisa utilizar “herança” múltipla? Ou não tem nada a ver?
Abraços.
Amigos, bom dia.
Como decidir entre utilizar classe abstrata ou interface?
O uso de interface seria mais para quando se precisa utilizar “herança” múltipla? Ou não tem nada a ver?
Abraços.
Olá andredf
Na verdade depende do seu requisito. Você segue um forte contrato quando opta por Interface mas tem a facilidade de poder implementar métodos não abstratos em uma class Abstrata. Se você precisar utilizar o pattern Factory Method por exemplo, uma classe abstrata se aplica muito bem.
É possível falar bastante sobre os dois, mas resumindo se você precisa de um método comum às suas classes filhas e você tem a mesma implementação para este método, então você poderia usar uma classe abstrata mas se você precisa somente
que sigam à risca o seu contrato, sugiro a Interface, além de você poder implementar diversas Interfaces na sua classe.
Se você tiver um exemplo de dúvida um pouco mais real pode ficar mais divertido pois este tipo de discussão pode ir longe = )
http://mindprod.com/jgloss/interfacevsabstract.html
Abs!