[Résolu] Créer un objet à partir du nom de son type

Créer un objet à partir du nom de son type [Résolu] - Java - Programmation

Marsh Posté le 27-03-2006 à 11:57:32    

Bonjour à vous, voila, je travaille sur un parseur d'expression postfixée en Java et pour le rendre un peu générique, j'aurais souhaité faire la chose suivante :
 
J'ai construit une map avec pour clé les noms des types (des string) et en valeur les symboles associés.
 
Par exemple :( "Opérateur" ; ['+','-', '/', '*']  ); "Machin"; ['&' , '||' ] ,etc...  
 
Je parse ensuite une expression, par exemple "+ &" et je souhaiterais créer deux objets, l'un du type Operateur et l'autre du type Machin .... mais en ne connaissant que le nom du type dans une chaine de caractère.
 
En un mot, si je connais le nom d'un type sous la forme d'une chaine de caractère str, existe t'il une syntaxe pour construire un objet de ce type ?
 
Merci de vos réponses,
cali./

Message cité 1 fois
Message édité par calimerot le 27-03-2006 à 12:04:39
Reply

Marsh Posté le 27-03-2006 à 11:57:32   

Reply

Marsh Posté le 27-03-2006 à 12:03:51    

calimerot a écrit :

Bonjour à vous, voila, je travaille sur un parseur d'expression postfixée en Java et pour le rendre un peu générique, j'aurais souhaité faire la chose suivante :
 
J'ai construit une map avec pour clé les noms des types (des string) et en valeur les symboles associés.
 
Par exemple :( "Opérateur" ; ['+','-', '/', '*']  ); "Machin"; ['&' , '||' ] ,etc...  
 
Je parse ensuite une expression, par exemple "+ &" et je souhaiterais créer deux objets, l'un du type Operateur et l'autre du type Machin .... mais en ne connaissant que le nom du type dans une chaine de caractère.
 
En un mot, si je connais le nom d'un type sous la forme d'une chaine de caractère str, existe t'il une syntaxe pour construire un objet de ce type ?
 
Merci de vos réponses,
cali./


 
oups, j'ai peut être posté un peu vite ........
 
De : http://www.usenet-fr.net/fur/comp/lang/faq-java.html

Citation :


5.3 Qu'est ce que l'API de reflexion (Java Core Reflection API) ?
(Comment créer une instance d'une classe dont on connaît le nom)
 
C'est un package qui permet de travailler sur les attributs, méthodes et
constructeurs de classes "chargées". Elle permet par exemple de construire
"dynamiquement" un nouvel objet (ou même tableau) ou encore d'accéder a ses
attributs et méthodes.
 
Par exemple pour créer un objet à partir du nom d'une classe et transmettre
des arguments a son constructeur (exceptions a traiter) :
 
java.lang.Class cs = java.lang.Class.forName("nom_de_ma_classe" );
java.lang.reflect.Constructor cr = cs.getConstructor();
java.lang.Object ot = cr.newInstance();

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed