Uma classe abstrata é aquela que se destina apenas a ser uma classe base de outras classes. O modificador 'abstract' é usado para tornar uma classe abstrata. Um modificador abstrato indica que há alguma implementação ausente que precisa ser implementada na classe derivada dela. A classe abstrata pode ter membros abstratos e não abstratos. Uma classe abstrata deve ter pelo menos um método abstrato, caso contrário, não há como declarar essa classe como 'abstrata'.
Exemplo de classe abstrata em C #:
Conforme mostrado no exemplo acima, o método abstrato 'Area' dentro da classe MyCircle é substituído na classe derivada MyArea.
Uma interface contém apenas a declaração de membros, incluindo métodos, propriedades, eventos ou indexadores. Não contém a implementação desses membros. Uma classe ou estrutura implementa a interface, deve fornecer a definição dos métodos declarados na interface. Isso significa que uma interface fornece uma estrutura padrão que a classe derivada precisa seguir.
Exemplo de uma interface em C #:
Como mostrado no exemplo acima, a interface MyData possui dois métodos de declaração, getdata () e showdata (). A classe NameData que está implementando essa interface deve fornecer a definição de métodos declarados na interface MyData.