public abstract void OnDoSmth();
}
public class B : A
{
public override void OnDoSmth() { }
}
public sealed C : B
{
public override void OnDoSmth() { }
}
Почему при new B().DoSmth() вызывается переопределение класса С?
С чего ты взял?
Ну какбы нет
Могло быть и так B b = new C(); b.DoSmith();
Если переменная определена так, то вызываться будет от типа C, а не B
Обсуждают сегодня