image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF

S

Sonia04/01/2024 00:05
Compartilhe

Classe abstrata vs. Interface [C#]

    1. Finalidade:

    • Classes abstratas: servem como base para outras classes herdarem, definindo suas características e comportamentos fundamentais (i.e. definem a identidade central de uma classe);
    • Interfaces: definem um contrato que as classes devem implementar, garantindo a implementação de determinados métodos (i.e. implementam comportamentos periféricos).

    2. Nível de abstração:

    • Classes abstratas: podem incluir membros abstratos e não abstratos;
    • Interfaces: possuem apenas membros abstratos.

    3. Modificadores de acesso:

    • Classes abstratas: aceitam diferentes modificadores de acesso (public, private, protected);
    • Interfaces: todos os membros são public por padrão.

    4. Herança e implementação:

    • Classes abstratas: uma classe pode herdar de apenas uma classe abstrata;
    • Interfaces: uma classe pode implementar múltiplas interfaces.

    Referências:

    1. https://www.geeksforgeeks.org/difference-between-abstract-class-and-interface-in-c-sharp/
    2. https://www.bytehide.com/blog/abstract-class-vs-interface-csharp
    Compartilhe
    Comentários (0)