Vars de ma class fille que je veux récup dans la classe mere

Résolu/Fermé
Grafiteur - Modifié par Grafiteur le 21/12/2016 à 22:12
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 22 déc. 2016 à 18:23
Bonjour,

Je vous explique mon probléme :
j'ai une classe mere abstract A
et des classes fille B et C
mon modèle stock dans une ArrayList<A> des objets que j'instantie B, C

J'ai une méthode commune run() que j'ai besoin de mettre dans A, et mon problème c'est que j'ai besoin d'utiliser 2 variable d'instance appartenant a B et C, du coup je ne sais pas comment faire, quelqu'un peut m'aider ?
Alors je sais que ma demande est pas logique conceptuellement, mais je voulais éviter la redondance d'une methode qui va faire une 50ene de ligne, tout ça à cause d'un caractère et d'un entier...

j'ai cherché un peu, j'ai trouvé une methode :
A fille = modele.getA(var1, var2);
if (fille.equals(B.class)) ceQueJeVeutFaire(((B) fille).getMaVar());
else if (fille.equals(C.class)) ceQueJeVeutFaire(((C) fille).getMaVar());


mais je sais pas si ça fonctionne car le modèle est fait ainsi :
ArrayList<A> liste = new ArrayListe<>();
liste.add(new B());
liste.add(new C());


Mais peut-être avez vous une autre solution ?
peut etre qu'il y a une methode moins borderline

merci pour votre aide !


2 réponses

Du coup, je me dis que que je devrais mettre les 2 variables dans la class mère mais le problème que sa valeur dépent de la classe fille auquelle elle appartient (class mère est abstraite donc non instantiable)

pour info je suis en 1ere année de dut info donc peut etre que c'est la conception de mes classes qui n'est pas adapté, j'espère avoir donné assez de renseignements :)
1