|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : Nom de classe appelante [ Divers / Général ] (mimou01 )
Informations & options pour cette discussion
vendredi 13 avril 2007 à 09:45:25 |
Nom de classe appelante

mimou01
|
Salut,
Supposons que j'ai cet appel classe1.METH() , ya t'il un moyen pour reconneaitre au sein de la méthode méthode le nom de la classe qui a fait l'appel c'est a dire classe1. Merci
|
|
|
vendredi 13 avril 2007 à 10:35:31 |
Re : Nom de classe appelante
|
vendredi 13 avril 2007 à 10:38:51 |
Re : Nom de classe appelante

Fifan
|
En général un tel besoin (savoir par qui on est appelé) dénote d'un pb de conception... Sinon, tu peux essayer ce code là dans METH: String callerClass = new Exception().getStackTrace()[1].getClassName().toString(); String callerMethod = new Exception().getStackTrace()[1].getMethodName().toString();
En espérant que cela t'aide
|
|
|
vendredi 13 avril 2007 à 10:49:51 |
Re : Nom de classe appelante
|
vendredi 13 avril 2007 à 10:53:00 |
Re : Nom de classe appelante

mimou01
|
En fait, je dois mieux m'exprimer, j'ai trois niveaux de classes, une classe Ancestor de laquelle herite ma classe1, et dans laquelle est implémenté ma methode statique METH(), et plusieurs classes qui en heritent classe1, classe2, classe3. Le traitement differe de classe1 à classe 2 a classe 3, je ne veux pas reimplementer ma methode METH() au sein de chacune de ces classes parce qu'il n'ya qu'un seul parametre qui change donc c'est inutile de le faire, L'appel classe1.METH() ou classe2().METH() se fait dans une autre classe d'execution . Ma question est donc est ce qu'il ya un moyen qui me permettra de reconnaitre la classe qui a fait l'appel (classe1 ou classe2 ou ........)
|
|
|
vendredi 13 avril 2007 à 11:01:31 |
Re : Nom de classe appelante

super_toinou
|
Yop yop !!
c est clair que y a un pb de conception la !!
si ta méthode est statique c est qu elle fait la meme chose pour tout le monde !!
Si c est pas le cas dans ce cas tu vire statique et vu que t hérite tu surcharge ta méthode METH comme ca par polymorphisme ca passera comme tu veux.
Sinon question toute bete, si tu dois faire on va dire 3 traitements spécifiques suivant qui appelle la méthode, pourquoi tu fais pas tout betement 3 méthodes et celui qui appelle, qui sait ce qu il fait appelera la méthode qui l interesse !!
++ Toinou
|
|
|
vendredi 13 avril 2007 à 11:35:47 |
Re : Nom de classe appelante

zieunoir
|
essaye ça : dans ta methode this .getClass().getName();
|
|
|
vendredi 13 avril 2007 à 12:31:29 |
Re : Nom de classe appelante

DARKSIDIOUS
|
>> zieunoir : c'est la solution que j'avais proposé hier, mais qui ne marche pas pour une méthode statique. 100% d'accord avec super_toinou : le polymorphisme ou la redéfinition me semble être LA solution dans ce cas là. Aucune raison de mettre en static une méthode si son comportement est différent selon l'appelant ! Il faut absolument casser la dépendance entre classe dans la programmation objet, sinon on s'en sort plus !
|
|
|
vendredi 13 avril 2007 à 12:37:16 |
Re : Nom de classe appelante

Ombitious_Developper
|
Salut:
Si tu fais MyClass.method () alors tu es sûr que: cette méthode est statique la classe appelante est la classe qui la classe de base qui contient cette méthode ou une classe fille (sans parler du surdéfinition).
________________________________________________________________________________ A.B. : "Dieu nous donne des mains, mais il ne bâtit pas les ponts"
|
|
|
vendredi 13 avril 2007 à 14:18:05 |
Re : Nom de classe appelante

Fifan
|
Tu peux aussi jetter un coup d'oeuil sur les design pattern état et strategy si tu rend ta méthode publique. Mais je redis qu'une méthode (d'autant plus si elle est statique) n'a pas à savoir par qui elle est appelée. Essaies de revoir un peu ta conception et si tu veux de l'aide, il faut nous en dire en peu plus. 
|
|
|
Cette discussion est classé dans : appel, classe, méthode, appelante, classe1
Répondre à ce message
Sujets en rapport avec ce message
appel de classe java [ par babymate ]
Bonjour tout le monde.J'aimerai savoir si on peut appeler plusieurs classes dans une JSP .Si oui, comment on fait? Si non , tant pis :-( la vie c comm
Est ce possible? [ par VinZzZ ]
Je me pose un question auquel j'espère quelqu'un aura une réponse, mais peut être que ce n'est pas possible en Java??On a crée une classe mère A et un
Est ce possible? [ par VinZzZ ]
Je me pose un question auquel j'espère quelqu'un aura une réponse, mais peut être que ce n'est pas possible en Java??On a crée une classe mère A et un
Est ce possible? [ par VinZzZ ]
Je me pose un question auquel j'espère quelqu'un aura une réponse, mais peut être que ce n'est pas possible en Java??On a crée une classe mère A et un
Est ce possible? [ par VinZzZ ]
Je me pose un question auquel j'espère quelqu'un aura une réponse, mais peut être que ce n'est pas possible en Java??On a crée une classe mère A et un
Temps d'execution de la méthode transform (de la classe javax.xml.transform.Transformer) [ par sleep ]
Bonjour,J'ai remarqué d'importantes différences dans le temps d'execution d'un de mes programmes entre 2 utilisations, et ce dans les meme conditions.
Quelle classe et méthode utiliser pour lire un fichier ligne à ligne ? [ par niluje ]
bonjour, Histoire de mettre une arc de plus à ma corde et inversement .. je fais un peu de java ..Bref ma question de la soirée est :Quelle classe uti
Help JTable - Étudiante en détresse [ par EducJava ]
Salut, J'ai vraiment besoin d'aide. Ca fait des jours que je tourne en rond. Je suis étudiante et dans un exercice que j'ai à faire, je dois implémen
récupéré la classe et la méthode qui leve l'exception [ par OliV_25 ]
bonjour a tousdonc voila mon problème c'est que je veux faire un systeme d'affichage de message d'erreur dans mon programme,ce systeme sera lancé a ch
DataOutputStream d'une classe à l'autre??? [ par axi_axi_axi ]
Bonjour, Dans ma première classe, je défini un DataOutputStream et je voudrai le conserver dans une seconde classe: voici le code utile. Classe1{DataO
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|