有没有更好的方法来为基类调用每个派生对象的方法?

时间:2009-08-26 22:17:04

标签: asp.net inheritance derived-class

我有一个基类,我派生了几个类。我有另一个类以不同的方式使用所有这些派生类。但是,我想在每个派生类上调用Update()方法(从基类继承)。有没有一种简单的方法可以做到这一点,或者我必须做一些类似的事情:

dim a As Derived1
a.Update

dim b As Derived2
b.Update

etc...

2 个答案:

答案 0 :(得分:5)

我认为最好的方法是将派生对象保存在某种列表中,然后迭代它们以调用Update。

在伪代码中:

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

答案 1 :(得分: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