1

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

dim a As Derived1
a.Update

dim b As Derived2
b.Update

etc...
4

2 回答 2

5

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

在伪代码中:

foreach BaseClass item in {a, b, ...}:
    item.Update
于 2009-08-26T22:25:04.477 回答
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
于 2009-08-26T22:33:25.677 回答