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 :

Deux interface, une méthode.


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Deux interface, une méthode.
    Bonjour à tous,

    Aujourd'hui je paye ma question tordue. Que se passe-t-il si je décide qu'une de mes classe implémente deux interfaces possédant la même méthode (ou plutôt deux méthodes ayant la même signature) ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    public interface I1 {
     
    	public void bouga();
     
    }
     
    public interface I2 {
     
    	public void bouga();
     
    }
     
    public class Impl implements I1, I2 {
     
    	public void bouga() {
    		//implémentation
    	}
     
    }
    A priori je dirais qu'il se passe rien de particulier, juste que les deux méthodes définies par les interfaces et ayant la même signature auront la même implémentation. Quelqu'un peut-il me confirmer ?

    (NB: Je précise que c'est purement par curiosité que je veux savoir ça, à mon avis, même si ça marche, il vaut mieux éviter ce genre de cas qui risquent de porter à confusion)

  2. #2
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Par défaut
    L'idée, c'est que ce genre de chose craque avec l'héritage (probleme de l'héritage multiple) parce qu'il peut y avoir un conflit (on appelle I1.bouga() ou I2.bouga() ?)

    Les interfaces java sont une solution apportée à ce probleme puisque I1.bouga() ou I2.bouga() appellera une seule fonction Impl.bouga().

    Maintenant, si jamais I1.bouga() doit faire un truc totalement différent de I2.bouga(), c'est un problème de modélisation.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 62
    Par défaut
    Cela ne pose pas trop de soucis, tu vérifié bien la condition la méthode est présente.

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/01/2009, 17h34
  2. Passer une interface à une méthode?
    Par robert_trudel dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 15/04/2008, 11h50
  3. [POO] Deux paramètres dans une méthode ?
    Par SBL69 dans le forum Langage
    Réponses: 2
    Dernier message: 18/09/2007, 11h54
  4. Réponses: 16
    Dernier message: 26/10/2006, 16h17
  5. Réponses: 12
    Dernier message: 23/03/2006, 14h13

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