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

Java Discussion :

[Interface] Appeller toutes les méthodes héritées d'un class


Sujet :

Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [Interface] Appeller toutes les méthodes héritées d'un class
    Bonjour à tous,

    J'ai un problème, et je ne sais pas si c'est possible, j'ai créer une interface qui est implémentée par deux classes différentes, je souhaiterai que au lieu de faire NomClasse.MethodeImplementee(), je puisse appeller toutes les méthodes implémentée dans chacune des classe.

    Par exemple, j'ai un méthode joined() implémentée dans la classe Class1, et joined() implémentée dans la classe Classe2, et je souhaiterai pour appellée ces deux méthodes sans passer par le nom de la classe.

    Est-ce possible ? merci d'avance !

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 137
    Points : 143
    Points
    143
    Par défaut
    Logiquement ca ne me parait pas possible.

    Image que tu as une interface Oiseau, avec une fonction faireCouiCoui.

    Si tu crées 2 classes implémentant Oiseau, par exemple Hibou et Perroquet, tu vois bien que tu seras obligé de préciser quel oiseau fera CouiCoui.

    ( Koike je ne suis pas sur que le perroquet ni le hibou dailleurs ne sachent faire couicoui )

    De plus, en partant de l'interface Oiseau, tu ne peux pas savoir quels seront les classes l'implémentant....

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Autre méthode
    Tu as peut-être une idée pour comment faire l'équivalent ?
    Merci beaucoup d'avoir répondu :-)

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 43
    Points : 44
    Points
    44
    Par défaut
    Je pense qu'il y a une solution à ton problème.
    Soit une Interface Vehicule avec comme méthode deplacer().
    Soit deux classes implémentant cette interface : Bateau et Voiture.
    Supposons que dans ton code, tu manipules l'objet en sachant qu'il s'agit d'une instance d'une classe implémentant Vehicule mais ne sachant pas de quelle classe il s'agit précisément.

    Tu peux donc faire la chose suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Vehicule monVehicule = ...
    // Récupération de la liste des méthodes déclarées dans la classe
    Method[] tabMethod = monVehicule.getDeclaredMethods();
    // Parcours de la liste de méthodes
    for(int i=0; i<tabMethod.length; i++)
    {
      Method maMethod = tabMethod[i];
      System.out.println("Nom de la méthode = " + maMethod.getName());
    }
    Je te laisse dévouvrir les autres possibilités de l'API Reflect présente dans la JDK à l'adresse suivante : http://java.sun.com/j2se/1.4.2/docs/...e-summary.html

    J'espère avoir pu répondre à ta question.
    @++

  5. #5
    Membre habitué

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2002
    Messages : 125
    Points : 150
    Points
    150
    Par défaut
    sinon il ne serait pas plus imple de manipuler directement l'interface ?
    si on reprend l'exemple des oiseaux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public void fairefaireCouiCoui(Oiseau monOiseau)
    {
       Monoiseau.faireCouiCoui();
    }
    voila tu as appelé la méthode de ton interface sans pour autant indiquer le nom des classes.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/02/2014, 16h47
  2. Réponses: 4
    Dernier message: 16/09/2010, 17h30
  3. afficher toutes les méthodes et les variables d'une classe
    Par riyad25h dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 07/07/2010, 10h22
  4. Intégrer toutes les méthodes du wmp dans l'IDE
    Par tonton flubb dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/05/2007, 02h14
  5. Réponses: 6
    Dernier message: 27/12/2006, 21h53

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