Accueil > Forum > > > > Nom de classe appelante
Nom de classe appelante
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ée 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
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Forum
RE : URL ET JAVARE : URL ET JAVA par Pylouq
Cliquez pour lire la suite par Pylouq
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|