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.