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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?