繁体   English   中英

没有代码的第一个非抽象虚拟方法的特殊名称?

[英]Special name for first non abstract virtual method without code?

这个问题来自另一个类似的问题。 有时我不得不处理这种情况。

您是否知道在 Object 面向编程中是否存在一个特殊名称,用于已声明为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()方法就是这种情况。

干杯。

一般不知道这种方法的名称,但我听说过使用这种方法的技术的各种名称。 我会说这取决于具体用途。

我能想到的唯一通用名称是NOP方法!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM