覆盖虚方法就是这样,覆盖默认(基本)实现并用新方法替换它.但是,如果您未为虚拟方法提供任何重写的实现,则会自动获得基本实现.所以,你的问题的答案只是首先不要覆盖add方法:
add
class B : A {}
但是,如果您需要保留基本实现但希望扩展它,则可以使用base关键字从派生类显式调用基本实现.例如:
base
class B : A { public override void add(int a, int b) { base.add(a, b); DoSomethingElse(); } }