Sobes.tech
Junior — Middle

Pode explicar o que são classes abstratas e como são usadas na programação orientada a objetos?

sobes.tech IA

Resposta da IA

Uma classe abstrata em C# é uma classe que não pode ser instanciada diretamente e serve como base para outras classes. Pode conter métodos implementados e também métodos abstratos (sem implementação), que devem ser sobrescritos nas classes derivadas.

É usada para definir uma interface comum e um comportamento base, permitindo que subclasses implementem detalhes específicos.

Exemplo:

abstract class Animal
{
    public abstract void MakeSound(); // método abstrato

    public void Sleep()
    {
        Console.WriteLine("A dormir");
    }
}

class Dog : Animal
{
    public override void MakeSound()
    {
        Console.WriteLine("Au-au");
    }
}

// Uso
Animal dog = new Dog();
dog.MakeSound(); // Vai mostrar "Au-au"
dog.Sleep(); // Vai mostrar "A dormir"

Assim, classes abstratas ajudam a criar modelos para uma família de classes relacionadas, garantindo a implementação obrigatória de métodos-chave nas subclasses.