Héritage : accès à une variable "fille"
Bonjour,
Mon problème est le suivant.
Je possède une classe Personnage et plusieurs classes dérivés de celle-ci (Guerrier, Archer, Mage).
Dans mon programme j'instancie l'une des trois classes fille (en fonction du choix du joueur) et je stocke l'instance dans un objet de type Personnage (puisque je ne sais pas à l'avance lequel sera utilisé.)
Mon code se résume en gros à ceci :
Code:
1 2 3 4 5 6 7 8 9 10
| Personnage perso;
if (event.getSource() == boutonGuerrier){
perso = new Guerrier();
}
else if (event.getSource() == boutonArcher){
perso = new Archer();
}
else if (event.getSource() == boutonMage){
perso = new Mage();
} |
Tout ceci fonctionne très bien pour tout ce que j'ai à faire, mais un seul petit truc me manque.
J'ai dans Archer une variable de plus (une arme à distance). Comme ni le guerrier ni le mage ne peuvent en avoir, je l'avais déclaré dans Archer.
Mais du coup je ne peux pas y accéder depuis "perso".
Existe t-il un moyen de contourner ce problème ou dois-je déclarer mon arme à distance dans personnage, même si seul mon archer l'utilisera ?