Bonjour,
J'ai besoin d'une classe "Figure" intégrant des ArrayList d'entiers. Si je fais :
avec dans le constructeur de Figure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ArrayList <Integer> ValeursX = new ArrayList <Integer>(); ArrayList <Integer> ValeursY = new ArrayList <Integer>(); Figure figure = new Figure (ValeursX, ValeursY)
je peux utiliser ce tableau depuis une autre classe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 this.ValeursX = ValeursX; this.ValeursY = ValeursY;
Si je fais :
avec un constructeur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Figure figure = new Figure();
cela ne marche pas. Cela marche à la rigeur si je déclare les ArrayList public dans Figure, et que je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 public Figure(){ ArrayList <Integer> ValeursX = new ArrayList <Integer>(); ArrayList <Integer> ValeursY = new ArrayList <Integer>(); } public void addX (int N) { Integer X = new Integer (N); ValeursX.add(X); } public int restX (int X) { return ValeursX.get(X); } public void addY (int N) { Integer Y = new Integer (N); ValeursY.add(Y); } public int restY (int Y) { return ValeursY.get(Y); } private <Integer> ValeursX; private <Integer> ValeursY;
par exemple. Mais cette solution ne me convient pas. J'ai évidemment besoin de plusieurs figures dans mon projet, et j'aurais aimé instancier les tableaux dans la classe Figure, et pas au dessus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part figure.ValeursX.get(i);
Ce problème s'est posé bien souvent : pour que les classes communiquent, il faut qu'une classe les instancie toutes en quelques sortes, et je ne sais pas pourquoi. Quelqu'un pourrait-il me donner une explication s'il vous plaît?
Merci d'avance.
Partager