Bonjour,
J'ai dans mon programme une " SuperClasse " Abstraite dont dérive plusieurs autres classes ( nommons les " Classe1 ", " Classe2 " , ...). La " SuperClasse " contient une méthode " Ajouter " ( dont l'implémentation varie suivant la classe " fille " ).
Je lis un fichier XML contenant des nodes dont le traitement varie suivant le nom du noeud. Chaque type de noeud correspond à une instance ( " Classe1 ", " Classe2 " ). Ces noeuds ont les memes noms que mes classes. ex :
Ce que je voudrais faire, c'est pouvoir appeller directement la bonne classe pour le traitement sans avoir à passer par quelque chose du genre :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <Classe1> .... </Classe1> <Classe2> .... </Classe2> <Classe1> .... </Classe1> <Classe1> .... </Classe1> <Classe2> .... </Classe2>
Je voudrais donc pouvoir directement appeller la bonne classe ( ou l'objet...unique dans le programme et dont la rêgle de nommage est stricte ex : " MonClasse1 " ) du genre :Code:
1
2 if XMLNode.name = 'Classe1' then InstanceClasse1.add(XMLNode);
ouCode:TSuperClasse(RetrouveObjetParSonNom('Mon'+XMLNode.name )).add(XMLNode);
Je précise que la " SuperClasse " ne dérive elle d'aucune classe et que " Classe1 " , " Classe2 " n'ont qu'une seule instance dans le programme.Code:TSuperClasse(RetrouveInstanceDeClasse(XMLNode.name )).add(XMLNode);