Sobes.tech
Junior — Middle

É possível alterar a funcionalidade do método, sobrescrevendo-o na classe herdada?

sobes.tech IA

Resposta da IA

Sim, em C# é possível alterar a funcionalidade de um método sobrescrevendo-o na classe herdada. Para isso, o método base deve ser declarado com a palavra-chave virtual, e na classe derivada pode-se sobrescrevê-lo usando a palavra-chave override.

Exemplo:

class BaseClass
{
    public virtual void ShowMessage()
    {
        Console.WriteLine("Mensagem da classe base");
    }
}

class DerivedClass : BaseClass
{
    public override void ShowMessage()
    {
        Console.WriteLine("Mensagem sobrescrita da classe derivada");
    }
}

Chamar o método ShowMessage em um objeto de DerivedClass executará a versão sobrescrita do método.