Atualmente eu uso só interfaces no trabalho, todavia, eu gostei da pratica de classes abstratas, quando seria aconselhável usar um ou outro
Atualmente eu uso só interfaces no trabalho, todavia, eu gostei da pratica de classes abstratas, quando seria aconselhável usar um ou outro
Olá André, como vai?
Quando usar um ou outro é uma pergunta um pouco complexa. Vai depender do problema que está enfrentando.
A grosso modo definiria que usamos Interface quando precisamos que classes de diferentes origens (herança) tenham métodos em comum e possam ser acessados através do mesmo lugar.
A classe abstrata é utilizada quando você quer que uma classe que herde dela implemente alguns métodos, mas que também possam ter métodos implementados na própria classe abstrata.
Posso citar algumas vantagens de ambos, assim, pode tirar suas conclusões de qual utilizar e quando utilizar:
Classe Abstrata:
Interfaces:
Espero que tenha esclarecido sua dúvida. Se algo não ficou claro, sinta-se confortável para perguntar novamente.
Abraços e bons estudos!