Instanciation dans une classe et hors de la classe
Bonjour,
J'ai besoin d'une classe "Figure" intégrant des ArrayList d'entiers. Si je fais :
Code:
1 2 3 4
|
ArrayList <Integer> ValeursX = new ArrayList <Integer>();
ArrayList <Integer> ValeursY = new ArrayList <Integer>();
Figure figure = new Figure (ValeursX, ValeursY) |
avec dans le constructeur de Figure :
Code:
1 2 3
|
this.ValeursX = ValeursX;
this.ValeursY = ValeursY; |
je peux utiliser ce tableau depuis une autre classe.
Si je fais :
Code:
1 2
|
Figure figure = new Figure(); |
avec un constructeur :
Code:
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; |
cela ne marche pas. Cela marche à la rigeur si je déclare les ArrayList public dans Figure, et que je fais :
Code:
figure.ValeursX.get(i);
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.
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.