Sobes.tech
Junior — Middle

O objeto irá mudar se o método for sobrescrito na subclasse?

sobes.tech IA

Resposta da IA

Se numa subclasse sobrescrever um método da classe base, ao chamar esse método no objeto da subclasse será utilizada a nova implementação. O próprio objeto como instância da subclasse não muda, mas o comportamento do método muda. Isso permite modificar ou expandir a funcionalidade sem alterar a classe original.

Exemplo em C#:

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

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

// Uso
BaseClass obj = new DerivedClass();
obj.ShowMessage(); // Vai exibir: "Mensagem da subclasse"

Dessa forma, o objeto não muda como estrutura, mas seu comportamento através do método é alterado.