Bonjour,Comment obtenir la même instance d'une classe en Java?
J'ai un petit problème. J'ai créé une classe nommée Map(). Dans cette classe, il existe une méthode qui génère un tableau. Ensuite, j'ai créé deux autres classes (Top et Bottom) qui étendent la carte. Ensuite, j'ai créé 2 objets. Un des meilleurs et un de bas. Je veux obtenir le même tableau pour l'objet Top et pour l'objet Bottom. Voici le code source:
public class Map{
public Map(){}
public int [] yTopValues()
{
int [] arrayTopY = new int[100];
for(int i=0;i<100;i++)
arrayTopY[i]=randomInt(-50,50);//it puts in i-th position an int between 50 and -50
return arrayTopY;
}
public int [] yBottomValues()
{
int [] arrayBottomY = yTopValues;
for(int i=0;i<100;i++)
arrayBottomY[i]=arrayBottomY[i]-250;
return arrayBottomY;
}
public int [] xValues()
{
int [] arrayX = new int[100];
for(int i=0;i<100;i++)
arrayX[i]=randomInt(0,50);//it puts in i-th position an int between 0 and 50
return arrayX;
}
//other stuff
}
public class TopMap extends Map{
public TopMap(){
this.area=new Area(new Polygon(
this.xValues,
this.yTopValues,
200)
);
}
public class BottomMap extends Map{
public BottomMap(){
this.area=new Area(new Polygon(
this.xValues,
this.yBottomValues,
200)
);
}
Dans la classe View j'ai créé deux objets l'un des TopMap et l'un des BottomMap alors j'ai dessiné les zones avec g2.draw (topMap.area) et g2.draw (bottomMap.area)
J'ai besoin que les 2 polygones soient similaires, mais les deux sont différents parce que la méthode est exécutée deux fois. Que devrais-je faire? Merci beaucoup !!
La conception n'a aucun sens. Pourquoi Map crée-t-il des valeurs supérieures et inférieures plutôt que de laisser les sous-classes créer les leurs? – duffymo
Comme 'Map' ne stocke pas les tableaux, chaque appel à l'une des trois méthodes créera un nouveau tableau, même s'il est appelé sur la même instance de' Map'. La seule façon d'obtenir le même tableau à plusieurs reprises serait de le stocker quelque part. Peut-être en ne sous-classant pas 'Map', mais en utilisant à la fois' TopMap' et 'BottomMap', prenez une instance' Map' et faites en sorte que cette instance 'Map' stocke les tableaux dans les champs. – Andreas
Je wat pour créer un tunnel qui n'est pas linéaire ... et oui cela n'a peut-être aucun sens .. Je ne suis pas un programmeur professionnel. J'en ai juste besoin pour un projet – MArivs