Sobes.tech
Middle

O que acontece se definir um método comum numa classe abstrata?

sobes.tech IA

Resposta da IA

Se numa classe abstrata definir um método normal (não abstrato), esse método terá uma implementação e pode ser chamado em objetos de subclasses que herdam dessa classe abstrata.

A classe abstrata serve como uma classe base, que pode conter tanto métodos abstratos (sem implementação) quanto métodos normais com implementação. As subclasses são obrigadas a implementar todos os métodos abstratos, mas podem usar ou sobrescrever métodos normais conforme necessário.

Exemplo em C#:

abstract class Animal
{
    public void Eat()  // método normal com implementação
    {
        Console.WriteLine("O animal come");
    }

    public abstract void MakeSound();  // método abstrato
}

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

Neste exemplo, o método Eat é definido na classe abstrata e está disponível para todos os herdeiros sem necessidade de sobrescrever. Isso permite que a classe abstrata forneça funcionalidade geral, enquanto os métodos abstratos exigem a implementação de comportamentos específicos.