2011-07-02 8 views
1

この質問は別の同様の質問から来ています。時には私はこのケースに対処しなければならない。コードなしの最初の非抽象仮想メソッドの特殊名ですか?

virtualを宣言された最初の方法は、オブジェクト指向プログラミングに特別な名前を存在する場合、あなたは知っていますが、それは、意図的にないabstractですが、、何もしない、またはまったくコードを持っていませんが、 、おそらく呼ばれる?

この例は擬似コードですが、任意のO.O.に適用されます。プログラミング言語:

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()です。

乾杯。

+0

どうすればこのような方法が必要なのでしょうか?彼らは何もしなければ抽象宣言されるべきではありませんか?ただ疑問に思う。 – Hnatt

+0

@Hnattこれらのメソッドは通常、他のメソッドのヘルパーであり、単独では使用されません。 – umlcat

答えて

1

私はこのの名前を知らないのですが、一般的にですが、この種の方法を使用するテクニックにはさまざまな名前があります。私はそれが特定の用途に依存していると言います。

私は考えることができる唯一の一般的な名前はNOP方法である可能性がありstub

  • 可能性がありIOC
  • のインスタンスである可能性があり!

  • +0

    私はいくつかのプロセッサーアセンブラーからNOPを知っていますが、特定のオーバーライド可能なメソッドに制限されています。 – umlcat

    関連する問題