Y at-il une meilleure façon d'appeler chaque méthode de l'objet dérivé d'une classe de base?
-
20-09-2019 - |
Question
J'ai une classe de base où je tire plusieurs classes. J'ai une autre classe qui utilise toutes les classes dérivées d'une manière différente. Cependant, je veux appeler la méthode Update()
(héritée de la classe de base) sur chaque classe dérivée. Y at-il un moyen facile de faire cela, ou dois-je faire quelque chose comme:
dim a As Derived1
a.Update
dim b As Derived2
b.Update
etc...
La solution
Je pense que la meilleure façon de le faire est de garder les objets dérivés dans une liste de quelque sorte, puis itérer sur eux pour appeler mise à jour.
En pseudo-code:
foreach BaseClass item in {a, b, ...}:
item.Update
Autres conseils
Vous pouvez le faire à travers le polymorphisme avec un appel de fonction qui est passé la classe de base (pseudo-code):
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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow