image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Article image
Leandro Barbosa
Leandro Barbosa08/10/2023 20:50
Compartilhe

Classe Abstrata, Classe Selada e Interface em C#

    Classe Abstrata, Classe Selada e Interface em C#

    Neste artigo, vamos explorar três conceitos fundamentais em C# que são essenciais para o desenvolvimento de software orientado a objetos: Classe Abstrata, Classe Selada e Interface. Vamos abordar esses conceitos de forma clara e concisa, para que todos, especialmente os iniciantes, possam compreendê-los facilmente.

    Classe Abstrata

    Uma classe abstrata é uma classe que não pode ser instanciada diretamente, ou seja, você não pode criar objetos a partir dela. Ela serve como um modelo para outras classes que a herdam. Uma classe abstrata pode conter métodos abstratos (sem implementação) e métodos concretos (com implementação).

    Exemplo de Classe Abstrata:

    public abstract class Animal
    {
    protected string Nome;
    
    public Animal(string nome)
    {
      Nome = nome;
    }
    
    public abstract void EmitirSom();
    }
    

    Neste exemplo, a classe `Animal` é abstrata e possui um construtor que recebe o nome do animal e um método abstrato `EmitirSom` que deve ser implementado nas classes derivadas.

    Exemplo de Classe Derivada:

    public class Cachorro : Animal
    {
    public Cachorro(string nome) : base(nome)
    {
    }
    
    public override void EmitirSom()
    {
      Console.WriteLine($"{Nome} faz au au!");
    }
    }
    

    Neste exemplo, a classe `Cachorro` herda da classe `Animal` e implementa o método abstrato `EmitirSom`. O construtor da classe filha chama o construtor da classe base usando `base(nome)` para definir o nome do cachorro.

    Classe Selada

    Uma classe selada é uma classe que não pode ser herdada por outras classes. Ela é marcada com a palavra-chave `sealed`. Classes seladas são úteis quando você deseja impedir que outras classes estendam ou substituam o comportamento da classe selada.

    Exemplo de Classe Selada:

    public sealed class Calculadora
    {
    public int Somar(int a, int b)
    {
      return a + b;
    }
    }
    

    Neste exemplo, a classe `Calculadora` é selada, o que significa que você não pode criar uma classe que herde dela.

    Interface

    Uma interface é um contrato que define um conjunto de métodos e propriedades que uma classe deve implementar. As interfaces permitem que você defina um comportamento comum que várias classes podem compartilhar, independentemente de sua hierarquia de herança.

    Exemplo de Interface:

    public interface IDesenhavel
    {
    void Desenhar();
    }
    

    Neste exemplo, a interface `IDesenhavel` define um método `Desenhar`. Qualquer classe que implemente essa interface deve fornecer uma implementação para o método `Desenhar`.

    Exemplo de Implementação de Interface:

    public class Retangulo : IDesenhavel
    {
    public void Desenhar()
    {
      Console.WriteLine("Desenhando um retângulo");
    }
    }
    

    Neste exemplo, a classe `Retangulo` implementa a interface `IDesenhavel` e fornece uma implementação para o método `Desenhar`.

    Conclusão

    Classe abstrata, classe selada e interface são conceitos fundamentais em C# que ajudam a criar código mais organizado, extensível e seguro. As classes abstratas fornecem um meio de criar hierarquias de classes, as classes seladas protegem contra heranças indesejadas e as interfaces definem contratos que as classes devem seguir.

    À medida que você pratica e aplica esses conceitos, você se tornará mais competente em projetar sistemas orientados a objetos em C#. Lembre-se de que a POO é uma abordagem poderosa para o desenvolvimento de software e que a compreensão desses conceitos é fundamental para se tornar um programador eficaz em C#.

    Compartilhe
    Comentários (1)

    LM

    Ligia Marcolino - 13/11/2023 00:27

    Excelente, simples e extremamente objetivo, muito bom. obrigada