这个问题来自另一个类似的问题。有时我不得不处理这种情况。
您是否知道面向对象编程中是否存在一个特殊名称,对于已声明的初始方法virtual
,即故意不 abstract
,但是,什么都不做,或者根本没有任何代码,但是,可能被调用?
此示例是伪代码,但适用于任何 OO 编程语言:
public class MyBaseClass
{
public abstract virtual void OverrideMe();
public virtual void DoSomething() { cout << "Hello Mars\n" }
public virtual void MayDoSomething() { /* Nothing, yet */ }
}
public class MyDerivedClass : MyBaseClass
{
public override void OverrideMe() { cout << "Hello Neptune\n" }
public override void DoSomething() { cout << "Hello Jupiter\n" }
public override void MayDoSomething() { cout << "Hello Venus\n" }
}
方法MyBaseClass::MayDoSomething()
就是这样。
干杯。