Bonjour à tous,
Voilà 4 jours que je me bats avec la POO. Je suis pas un pro, je tiens à le préciser.
Ma question est simple, j'ai essayé au maximum de chercher mais la Google me sort par les yeux et j'ai épuisé mon stock de mots clef Francais/Anglais.
Question :
Quelle est la meilleure méthode pour conserver des objets ?
J'ai créé une class (que nous appellerons NouvelleRoute.as pour simplifier sur ce forum). Lorsque je fait une instanciation du type
var route:NouvelleRoute = new NouvelleRoute();
, je crée donc un objet, ou plutôt une nouvelle instance.
Le truc, c'est que je crée à peu près 1200 instances de ma class et que j'ai besoin (ou du moins je suis susceptible) de pouvoir accéder à chacune d'entre elles pour modifier les propriétés. Vous l'aurez compris, je dois pouvoir modifier chaque "objet" NouvelleRoute en y accédant par son nom j'ai donc besoin d'un tableau associatif pour tous les stocker, à moins qu'il existe une solution en POO ?
Après plusieurs jours sur Google, je suis arrivé à la conclusion suivante : utiliser un Dictionary.
En gros je fais
1 2 3 4 5 6 7 8 9 10
| MySQL => PHP => XML =>
boucle sur chaque item du XML {
var route:NouvelleRoute = new NouvelleRoute();
...route.propriete1 = xml.target.data[i]..etc
//ET C'EST LA QUE JE NE SAIS PAS COMMENT FAIRE, alors je rentre chaque instance dans un dictionary
variableDictionary[numeroInstance] = route;
} |
En gros, c'est une variable gloable. Je trouve que c'est sale, et surtout je crois qu'il y a mieux en POO. Mais bon jusqu'à maintenant çà marchait.
En fait j'utilise des objets de l'API Google Maps. Et je veux pouvoir tracer chaque segment de route (une Polyline) sur ma carte en sélectionnant le nom de la route. Jusque là ca marche, mais lorsque je veux modifier ma polyline (route.polyline), variableDictionary["nomRoute"].polyline a bien été modifié, mais ma carte ne se met pas à jour... C'ets vraiment bizarre !
J'espère avoir été clair. J'ai vraiment besoin de votre aide ca fait des jours que je me retient de poser une question, j'espère qu'elle n'est pas trop stupide !
Merci et bonne soirée
PS : je ne veux pas poster mon code, même s'il n'est pas long (30 lignes) car ce n'est pas agréable, mais si ca peut vous aider je le fais rapidement
Partager