Récupérer les méthodes

Récupérer les méthodes - Java - Programmation

Marsh Posté le 03-06-2012 à 01:37:48    

Bonsoir,  
 
 
J'ai un projet et suite à la réalisation d'un diagramme de conception j'ai un souci pour récupérer des méthodes.
 
Globalement voici mes classes;:
 
public class A implements B{
 
...
 
}
 
 
public interface B{
 
...
}
 
et  
 
public class C {
     attribut1
     attribut2
 
methode1
}
 
je souhaiterai récupéré les méthode de la classe C dans A ... quelqu'un a une idée ?

Reply

Marsh Posté le 03-06-2012 à 01:37:48   

Reply

Marsh Posté le 03-06-2012 à 16:24:20    

Class c = Class.forName("C" );
java.lang.reflect.Method[] m = c.getMethods();
 
A éviter tout de même ... ca consomme du cpu. Ca s'appelle introspection.

Reply

Marsh Posté le 08-06-2012 à 10:50:30    

et je ne peux pas faire : C j= new C() puis j.méthode1 ?

Reply

Marsh Posté le 08-06-2012 à 11:31:53    

london_fever a écrit :

et je ne peux pas faire : C j= new C() puis j.méthode1 ?


 
Si sans problème, mais c'est tellement évident, on apprend cela au premier cours de java,
que cela ne mérite pas d'être mentionné.
 
Tu souhaites "récupérer des méthodes", tu es en phase de conception,
moi j'ai compris que tu avais un problème de faisabilité pour récupérer les noms des méthodes par introspection.

Reply

Marsh Posté le 09-06-2012 à 18:39:21    

C'est bon j'ai réussi à récupérer mes méthodes merci beaucoup   Autre question du coup j'aimerai récupérer cette fois des attributs d'une autre classe... On m'a dit d'utiliser la réflexivité sauf que en ayant fait des recherches je ne vois pas trop le lien

Reply

Marsh Posté le 12-06-2012 à 10:20:50    

london_fever a écrit :

C'est bon j'ai réussi à récupérer mes méthodes merci beaucoup   Autre question du coup j'aimerai récupérer cette fois des attributs d'une autre classe... On m'a dit d'utiliser la réflexivité sauf que en ayant fait des recherches je ne vois pas trop le lien


 
La reflection, pas refléxivité
tu peux googler "find attributes java reflection"

Reply

Sujets relatifs:

Leave a Replay

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