У меня есть базовый класс, где я получаю несколько классов. У меня есть другой класс, который использует все эти производные классы по-другому. Однако я хочу вызвать метод Update() (унаследованный от базового класса) для каждого производного класса. Есть ли простой способ сделать это, или я должен сделать что-то вроде:
Update()
dim a As Derived1 a.Update dim b As Derived2 b.Update etc...
Я думаю, что лучший способ сделать это - сохранить производные объекты в каком-либо списке, а затем перебрать их, чтобы вызвать 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