J'ai un problème avec la conception de classe.Problème de polymorphisme - champs virtuels? (C#)
J'ai classe de base pour mes objets de jeu. Pendant le dessin, je dois récupérer la position de l'objet. Malheureusement, l'objet est vu comme son type de base donc la position n'est pas récupérée de la classe dérivée mais de son parent. champ Définir comme virtuel fixerait mon problème, mais il est impossible :(Comment puis-je concevoir le schéma de classe pour éviter ce problème
exemple simple de ce qui se passe.?
class BaseClass { public Vector2 position = new Vector2(){X=0,Y=0}; }
class Class:BaseClass { public new Vector2 position = new Vector2(){X=10,Y=10}; }
BaseClass c = new Class();
// c.position.X is now 0
Pourquoi cachez-vous le champ de classe de base en premier lieu? –