Bonjour à tous,
Je me retrouve bloqué sur un problème tout bête alors je viens vous demander votre aide.
J'ai les classes ci-dessous :
J'ai dans une autre classe un tableau d'Action
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public abstract class Action: IEquatable<Action>{} public class Action_CharacterOperator : Action{} public class Action_SpellCaster : Action{}
Dans ce tableau j'ai des Action_CharacterOperator et Action_SpellCaster. Mais pas d'Action car c'est une classe abstraite.
Code : Sélectionner tout - Visualiser dans une fenêtre à part private Action[] Actions = new Action[39];
Dans chacune de mes classes filles, j'ai une fonction executeAction() avec des paramètres différents.
Mon problème est que lors de l'appel de cette fonction depuis mon tableau j'ai une erreur car la classe mère n'a pas de déclaration pour cette fonction.
Comment faire pour pouvoir appeler cette fonction executeAction() depuis mon tableau d'Action?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Actions[1].executeAction(); // ERROR
J'ai beau réfléchir je ne vois pas comment faire.
En sachant que chaque déclaration de cette fonction sont différentes, j'ai un appel du genre
Est-ce qu'il y a un concept de POO qui m'échappe ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if(currentAction.GetType() == typeof(Action_CharacterOperator)) { currentAction.executeAction(this._characterOperator, keyState); } // ERROR else if(currentAction.GetType() == typeof(Action_CharacterControler)) {currentAction.executeAction(this, keyState); } // ERROR
D'avance merci pour vos retour.








Répondre avec citation




Partager