在抽象类中的非抽象方法中调用抽象方法

use*_*064 2 c# methods inheritance class abstract

我在C#中有一个抽象类:

  public void activation()
  {
       activated = true;
       on_Activation();
  }

  protected abstract void on_Activation();
Run Code Online (Sandbox Code Playgroud)

场景:

假设我已经创建了抽象类的子项并且实现了该方法,on_Activation().

问题:

  • 当我打电话Activation()给孩子班时会发生什么?
  • 会在子类中on_Activation()使用执行on_Activation吗?

Tho*_*mas 6

是.它是一个虚方法(隐式地,因为它是抽象的)所以它的"被覆盖最多"版本将被调用.调用源自基类上定义的方法的事实没有区别.