Je souhaite créer un nombre d'objets inconnu. Je ne suis pas sûr s'il y a une meilleure façon de les gérer et de les référencer. Permet d'utiliser un exemple de POO standard ... disons chaque fois qu'un utilisateur entre un nom pour un animal de compagnie dans un champ de texte et clique sur un bouton qu'un nouvel objet animal de compagnie est créé via la fonction petFactory.Gestion des instances d'objet
function pet(name)
{
this.name= name;
}
function petFactory(textFieldInput)
{
var x = new pet(textFieldInput)
}
Comme il n'y a aucun moyen, que je sache (en plus d'une fonction eval), d'utiliser dynamiquement un nouveau nom de variable unique pour l'animal chaque fois petFactory est appelé, x est réaffecté à un nouvel objet et la le dernier animal de compagnie est perdu. Ce que j'ai fait est de pousser l'objet de compagnie sur un tableau dès qu'il est initialisé.
petArray.push(this);
Donc, si je voulais l'animal nommé « mrFuzzyButtoms » je pouvais boucle à travers un tableau indexé jusqu'à ce que je trouve l'objet avec la variable d'instance « mrFuzzyButtoms »
for (n in petArray)
{
if (petarray[n].name == 'mrFuzzyBottoms')
{
// Kill mrFuzzyBottoms
}
}
ou je pourrais utiliser un tableau associatif ... peu importe ... mais le tableau est la seule méthode que je connais pour le faire. En plus d'utiliser une fonction eval pour créer des noms de variables uniques à partir de chaînes, certaines langues n'ont pas de fonction eval (actionscript3) et il y a aussi le risque de sécurité.
Y a-t-il une meilleure façon de procéder?
Édition: Actuellement, je travaille en Python, JavaScript et ActionScript.
Tuer mrFuzzyBottoms? Awww. Cruauté envers les animaux! Quel mauvais! Btw, ça ressemble à C# mais ça pourrait aussi être Java. Pouvez-vous ajouter un tag de langue ou est-ce quelque chose de général pour tous les langages de programmation. –