有没有更好的办法,呼吁基类派生的每个对象的方法?
-
20-09-2019 - |
题
我有一个基类,其中我派生几个类。我有一个使用所有这些派生类以不同的方式另一个类。然而,我想调用每个派生类的Update()
方法(从基类继承)。有一个简单的方法来做到这一点,或做我必须做的是这样的:
dim a As Derived1
a.Update
dim b As Derived2
b.Update
etc...
解决方案
我觉得要做到这一点的最好办法是保持在某种类型的列表中派生的对象,然后遍历他们致电更新。
在伪码:
foreach BaseClass item in {a, b, ...}:
item.Update
其他提示
可以做到这一点通过多态性与同时传递函数调用的基类(伪代码):
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
不隶属于 StackOverflow