IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Demander à une classe l'appel à une méthode


Sujet :

Langage Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Points : 467
    Points
    467
    Par défaut Demander à une classe l'appel à une méthode
    Bonjour,

    Je voudrais savoir s'il est possible de démander si une classe implémente la méthode souhaitée.
    En gros, je voudrais faire une méthode (déclancher par un écouteur) qui me déclenche une autre méthode et un message d'erreur si la méthode n'existe pas.

    J'ai une class Toto et l'autre Tata, l'une implémente close() et l'autre (Toto) non.
    Mes deux classes implémente la même interface (Tutu - qui elle même étend action Listener).
    Dans mon écouteur, qui prend donc au constructeur un paramètre de type Tutu, je voudrais déclencher (en fonction de l'action faite un bout de code qui me déclenche close()) mais comme la méthode (close()) n'est pas implémenter dans le type Toto, il va se produire une exception, donc je voudrais faire un genre de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if(objetEcoute.method_exist(close())
    {
          close();
    }
    else
    {
    sysout("la methode n'existe pas");
    }
    http://aldorande.miniville.fr/ind
    Fedora 8, eclipse 3.3 sur x86_64
    --------------
    Colorer votre code php

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 548
    Points : 635
    Points
    635
    Par défaut
    Tu fais une interface Closeable avec une méthode close() et tu fais implémenter cette interface par ta classe Toto, ensuite tu n'as qu'à faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if(objetEcoute instanceof Closable)
    {
          ((Closable) objetEcoute) close());
    }
    else
    {
    sysout("la methode n'existe pas");
    }

  3. #3
    Membre confirmé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Points : 467
    Points
    467
    Par défaut
    ah merci je me rappelais pas du instanceof
    http://aldorande.miniville.fr/ind
    Fedora 8, eclipse 3.3 sur x86_64
    --------------
    Colorer votre code php

  4. #4
    Membre éclairé

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 346
    Points : 737
    Points
    737
    Par défaut
    Sinon, si ce que tu veut c'est réellement savoir si une classe implémente une méthode tu peut utiliser l'API de reflection pour faire de l'introspection dans tes classes.

    Voici un petit tuto: http://gfx.developpez.com/tutoriel/java/reflection/

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/09/2012, 14h58
  2. Choix d'une classe pour appel de méthodes statiques
    Par Antwan76ers dans le forum Débuter avec Java
    Réponses: 11
    Dernier message: 05/07/2012, 10h55
  3. Appel d'une méthode d'une classe A dans une classe B
    Par halloumiali dans le forum Général Java
    Réponses: 1
    Dernier message: 16/04/2012, 00h30
  4. Réponses: 15
    Dernier message: 28/04/2009, 07h26
  5. Réponses: 8
    Dernier message: 02/06/2008, 11h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo