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 :
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> |
Ce que je voudrais faire, c'est pouvoir appeller directement la bonne classe pour le traitement sans avoir à passer par quelque chose du genre :
1 2
| if XMLNode.name = 'Classe1' then
InstanceClasse1.add(XMLNode); |
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 :
TSuperClasse(RetrouveObjetParSonNom('Mon'+XMLNode.name )).add(XMLNode);
ou
TSuperClasse(RetrouveInstanceDeClasse(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.
Partager