Bonjour!
Je rencontre un problème suite à ma tentative de faire des classes assez génériques, visiblement passage obligé pour une programmation élégante...
J'ai ce modèle à la base:
Une classe B qui dérive de A,
Une classe Liste qui contient une List d'objets B,
Une classe Affichage qui travaille avec une List d'objets A.
Je tente donc, au cours de mon programme, de transmettre la listeContenantDesB de Liste vers Affichage. J'ai donc prévu une méthode de Liste:
Or je ne comprend pas comment renvoyer la liste sous la forme <A>.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public List<A> getListe(){ return quelquechose; }
Et si je fais:
ça fonctionne à peu près, sauf que je voudrais que la liste transmise pointe vers la même liste (=que l'ajout ou le retrait d'un élément soit répercuté) alors qu'avec cette méthode c'est une copie qui est transmise (si je comprends bien). Avec des variables simples je m'en sort, mais avec les List... Car (avec L1 de type List<B>)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public List<A> getListe(){ List<A> quelquechose=new List(listeContenantDesB) return quelquechose; }
est refusé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part List<A> L2=L1
En gros, comment créer un L2 (type List<A>) qui pointe vers les mêmes objets que L1 (type List<B>). Et que donc une modification de L1 soit répercutée dans L2.
En espérant ne pas être trop obscure, merci d'avance!
Partager