Em ambos os casos criamos classes que serão herdadas pelas as demais, porém quais as principais diferenças entre as duas ?
Em ambos os casos criamos classes que serão herdadas pelas as demais, porém quais as principais diferenças entre as duas ?
Classes abstratas podem conter lógica, e normalmente são utilizadas quando algum método implementado nela pode ser utilizado nas classes derivadas. Interfaces são bem mais simples. Elas não tem atributos e seus métodos não tem implementação. A interface apenas nos garante que o método existirá naquela classe. E na verdade não herdamos interfaces, implementamos seu contrato. A herança só pode ser realizada entre classes (isso no .NET).