【发布时间】:2010-11-23 04:43:37
【问题描述】:
我有一个派生多个类的基类。我有另一个类以不同的方式使用所有这些派生类。但是,我想在每个派生类上调用 Update() 方法(从基类继承)。有没有一种简单的方法可以做到这一点,还是我必须这样做:
dim a As Derived1
a.Update
dim b As Derived2
b.Update
etc...
【问题讨论】:
标签: asp.net inheritance derived-class
我有一个派生多个类的基类。我有另一个类以不同的方式使用所有这些派生类。但是,我想在每个派生类上调用 Update() 方法(从基类继承)。有没有一种简单的方法可以做到这一点,还是我必须这样做:
dim a As Derived1
a.Update
dim b As Derived2
b.Update
etc...
【问题讨论】:
标签: asp.net inheritance derived-class
我认为最好的方法是将派生对象保存在某种列表中,然后遍历它们以调用 Update。
在伪代码中:
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
【讨论】:
Update 方法是继承的。我想要一种方法来一次调用所有派生类的Update 方法。