Olá Amigos, Fiz o curso de C# porem não ficou muito claro para mim quais a diferenças de uma Interface para uma Classe com métodos Abstratos.
Olá Amigos, Fiz o curso de C# porem não ficou muito claro para mim quais a diferenças de uma Interface para uma Classe com métodos Abstratos.
Olá Douglas, tudo bem?
Também tive dúvidas em relação a quando devo usar classes do tipo Abstratas e Interfaces. Vou citar algumas diferenças que acho relevante e que me ajudaram a entender.
as Interfaces não possui implementação, apenas a definição dos seus métodos sem o corpo; Não há como fazer uma instância de uma Interface e nem criar um Construtor; Um tipo de "contrato", onde são especificados os atributos, métodos e funções que as classes que implementem essa interface são obrigadas a implementar.
As classes Abstratas devem conter pelo menos um método abstrato, que não tem corpo; Não há como criar instâncias dela; Usada para ser herdada, funciona como uma super classe; Uma vantagem é que força a hierarquia para todas as subclasses, forçando a implementação das mesmas hierarquias e/ou padrões.
Aqui no fórum mesmo, encontrei uma resposta bem completa do Fabiano sobre esse assunto, você consegue visualizar aqui.
Espero ter ajudado. Bons estudos!