最近看一段代码,抽象类A继承了一个抽象类B,在A中对B的一个抽象方法重写了,但却没有方法体,这是什么原因?是被封装了吗?说明下,抽象类A中有一段插件代码.dll,详情看下

抽象类VStylus 继承了抽象类VPointer:

img

这个子类重写了父类 public override bool GetButton(int id);

下面是父类的抽象方法:

img

请问大家,为什么 public override bool GetButton(int id); 没有方法体?是被作者封装成了开头的程序集中的.dll了吗?

你都说了A是抽象类,所以必然有些方法是未实现的,否则就不是抽象类了。
虚函数得不断传递下去,后续的实体类才能去完成对抽象方法的实现

抽象类的方法可以只申明,不定义,可以由A的子类实现。