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.