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.