Back to questions
IT One
Junior — Middle
77
Можно ли считать, что метод Init в дочернем классе наследует или переопределяет реализацию из базового класса?
Companies where asked
Answer from AI
sobes.tech AI
Метод Init в дочернем классе не наследует реализацию из базового класса, если он объявлен заново (то есть с тем же именем, но своей собственной реализацией). В этом случае говорят, что метод переопределён (override). Переопределение означает, что при вызове метода у объекта дочернего класса будет использоваться именно его версия метода, а не базовая.
Если же метод Init в дочернем классе не объявлен, то он наследуется из базового класса и используется без изменений.
Пример на C#:
class BaseClass {
public virtual void Init() {
Console.WriteLine("Init базового класса");
}
}
class DerivedClass : BaseClass {
public override void Init() {
Console.WriteLine("Init дочернего класса");
}
}
Здесь Init в DerivedClass переопределяет метод из BaseClass. Если Init не объявлен в DerivedClass, то используется базовая реализация.