TP7 q1

Programmation Avancée

Modérateur : Douin

a.tortevois
Messages : 58
Inscription : 05 oct. 2018 16:00
Contact :

TP7 q1

Message par a.tortevois » 20 nov. 2018 17:08

Bonjour,
Je m'interroge sur la question 1.

L’énoncé demande d'utiliser les méthodes getMethod de la classe java.lang.Class et invoke de la classe java.lang.reflect.Method et des déclarations anonymes.

Pour "construire" ma tableDesMethodes, je me suis inspiré de ce qui est présenté sur le slide 96/97 : http://jfod.cnam.fr/nfp121/supports/NFP ... ection.pdf
Si j'ai bien compris :

Code : Tout sélectionner

// Signature de méthodes, String s, int i
Class<?>[] sig1 = new Class<?>[]{String.class, int.class};
On vérifie juste les paramètres (ou la signature) de la méthodes (soit ici ... maMéthode( String uneChaine, int unEntier) ).

Mais je n'arrive pas à comprendre comment testé le type retourné ? J'ai bien trouvé cette fonction
https://docs.oracle.com/javase/8/docs/a ... turnType-- ?

Enfin dans les méthodes "invoquer", pourquoi ne pourrait-on pas utiliser tout simplement la méthode qui a été stockée dans la tableDesMethodes ?
J'ai l'impression qu'il est demandé de reconstruire l'appel complet de la méthode par introspection de la classe.
Est-ce pour éviter s'il y a une erreur qui s'est glissée dans la tableDesMethodes ?

Merci pour vos éclaircissements.

Douin
Messages : 366
Inscription : 18 mars 2009 15:46

Re: TP7 q1

Message par Douin » 21 nov. 2018 19:55

Bonsoir
Mais je n'arrive pas à comprendre comment testé le type retourné ?
avez vous essayé getReturnType() ?
Enfin dans les méthodes "invoquer", pourquoi ne pourrait-on pas utiliser tout simplement la méthode qui a été stockée dans la tableDesMethodes ?
Oui c'est le cas, la table a déjà filtré les "bonnes" méthodes

Bonne fin de tp7q1

a.tortevois
Messages : 58
Inscription : 05 oct. 2018 16:00
Contact :

Re: TP7 q1

Message par a.tortevois » 21 nov. 2018 21:35

Bonjour Monsieur Douin,
Merci pour votre retour, j'ai re-simplifié mon code pour les deux méthodes "invoquer".
Pour vérifier le type retourné, j'ai préféré la méthode getGenericReturnType() ... l'autre je n'ai même pas cherché à l'utiliser :)
Je testerai...
C'est passé à JNEWS => direction q2

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité