Je sais pas si le titre est clair. En fait mon probleme est le suivant.
J'ai une classe disons A dont dérive les 3 classes B,C, et D. Ces sous classes classes contiennent des méthodes statiques ayant la meme signature (bon je sais modèle objet foireux). J'aimerais pouvoir invoquer la méthode de la bonne classe en utilisant de l'introspection, c'est à dire plutot qu'écrire :
écrire une fonction pour encapsuler tout ca:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 if (test1) { B.staticMethod(args); } else if (test2) { C.staticMethod(args); } else { D.staticMethod(args); }
Est-ce possible ? Les bouts de code sont bien sur faux mais c'est l'idée..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 static Class getClassName(arg){ if (test1){ return Class.forName(B.class.getName()); } else if (test2) { return Class.forName(C.class.getName()); } else if (test3){ return Class.forName(D.class.getName()); } } //je recupere la bonne classe (enfin j'espere) Class clazz = getClassName(arg); //maintenant j'aimerais pouvoir invoquer la methode staticMethod(args) de la classe que j'ai recupere
merci de vos précisions.
Partager