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
Обсуждают сегодня