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 :

mutuelles références de classes


Sujet :

Langage Java

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 469
    Par défaut mutuelles références de classes
    Bonjour,
    J'ai deux classes A et B
    des actions sur A se répercuteront vers B et des actions sur B se répercuteront vers A.
    Est-il préférable d'implémenter un changeListener sur chaque classe avec un code du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    classeA.addChangeListener(classeB)
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    classeB.addChangeListener(classeA)
    avec bien sûr classeA et classeB instances de A et B respectivement

    Ou alors de simplement avoir une déclaration de A dans B et un setter et réciproquement, du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Class A
    {
               B classeB;
               .../...
               public void setB(B b)
               {
                        classeB = b;
               }
    }
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Class B
    {
               A classeA;
               .../...
               public void setA(A a)
               {
                        classeA = a;
               }
    }
    Intuitivement je dirai que la première méthode est plus propre mais encore ?
    Quels sont vos avis éclairés ?
    Cordialement
    Patrice

  2. #2
    Membre très actif

    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    485
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 485
    Billets dans le blog
    5
    Par défaut
    La bonne réponse est la première.

    Dans la seconde, on donne un lien entre les classes, mais pas une action entre les deux;

    De plus, dans le cas de SWING, les listeners, c'est le design pattern Observable/Observer ( https://fr.wikipedia.org/wiki/Observ...de_conception) ).

    Ce pattern est construit pour pouvoir notifier un événement dans une autre classe.

    La bonne réponse est la première.

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 469
    Par défaut
    Merci beaucoup. cela correspond effectivement à ce que je pensais.

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

Discussions similaires

  1. Référence inter-classe ex ou implicite ?
    Par peter27x dans le forum Débuter
    Réponses: 3
    Dernier message: 29/01/2009, 13h55
  2. Référence de classe (class of)
    Par erca57 dans le forum Langage
    Réponses: 9
    Dernier message: 20/08/2008, 12h42
  3. Réponses: 27
    Dernier message: 03/01/2008, 11h07
  4. Problème de référence de classe
    Par nmathon dans le forum Delphi
    Réponses: 7
    Dernier message: 21/06/2006, 16h46
  5. Référence des classes navigateur
    Par elvivo dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 19/08/2005, 12h37

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