Sobes.tech
Junior — Middle

Pode-se considerar que o método Init na classe filha herda ou substitui a implementação da classe base?

sobes.tech IA

Resposta da IA

O método Init numa classe filha não herda a implementação da classe base se for declarado novamente (ou seja, com o mesmo nome, mas com a sua própria implementação). Neste caso, diz-se que o método foi sobrescrito (override). Sobrescrever significa que, ao chamar o método num objeto da classe filha, será usada essa versão do método, não a da classe base.

Se o método Init na classe filha não for declarado, ele é herdado da classe base e utilizado sem alterações.

Exemplo em C#:

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

class DerivedClass : BaseClass {
    public override void Init() {
        Console.WriteLine("Init da classe filha");
    }
}

Aqui, Init em DerivedClass sobrescreve o método de BaseClass. Se Init não for declarado em DerivedClass, a implementação base é usada.