2009-08-26 19 views
1

私はいくつかのクラスを派生する基本クラスを持っています。私は別の方法でそれらの派生クラスをすべて使用する別のクラスを持っています。しかし、派生クラスごとにUpdate()メソッド(基本クラスから継承)を呼び出す必要があります。これを行う簡単な方法はありますか、私のような何かをする必要があります:基本クラスの各派生オブジェクトのメソッドを呼び出すより良い方法はありますか?

dim a As Derived1 
a.Update 

dim b As Derived2 
b.Update 

etc... 

答えて

5

私はこれを行うための最善の方法は、いくつかの種類のリストに派生オブジェクトを保持し、その後反復処理することだと思います彼らは更新を呼び出す。擬似コードで

foreach BaseClass item in {a, b, ...}: 
    item.Update 
1

あなたは、基本クラス(擬似コード)を渡された関数呼び出しとポリモーフィズムていることを行うことができます。

Dim Dev1 as Derived1 '// This is derived from the class BaseClass 
Dim Dev2 as Derived2 '// This is derived from the class BaseClass 

CallUpdate(Dev1) 
CallUpdate(Dev2) 

Function CallUpdate(BaseClass bc) 
    bc.Update() 
End Function 
+0

+1私はちょうどとしていました同じ回答を投稿してください:) – Kelsey

+1

あなただけの取引です.Update for CallUpdate。どのようなメリットがありますか? – recursive

+0

私は、関数呼び出しを通じてBaseClass機能を抽象化していました。私は、一般的な方法でBaseClassの機能を呼び出す方法があるかどうかを尋ねてOPを読んだ。 – CAbbott

関連する問題