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 :

Accès aux objets et Collection


Sujet :

Langage Java

  1. #1
    Invité
    Invité(e)
    Par défaut Accès aux objets et Collection
    Bonsoir,

    J'ai une question d'ordre général.

    Un objet A, un objet B et un objet C.

    L'objet A crée un objet B qui lui crée un objet C.

    Une classe principale crée un objet A.

    Depuis, la classe principale, il n'y a pas de problème pour accèder aux méthodes de l'objet A.

    En revanche, pour accèder aux méthodes de l'objet B, depuis la classe principale, il faut dans l'objet A créer des méthodes afin d'appeler les méthodes de l'objet B et comme la classe principale crée l'objet A, en cascade, on a accès aux méthodes de B. Il faut ensuite faire de même avec l'objet B si on veut, toujours depuis la classe principale, accèder auw méthodes de C.

    Je pense que ce n'est pas la philosophie objet ni même correct.

    J'ai fait des recherches et j'ai pensé aux collections.

    Il suffirait de construire une liste chainée ou un ArrayList dans l'objet A et d'y mettre l'objet B.

    Ainsi, depuis la classe principale, un appel du type : A.MaLinkedList.getFirst() permettrait l'accès aux méthodes de l'objet B sans utiliser la "cascade de méthode". Pour accèder aux méthodes de C, il faudrait une liste chainée ou un ArrayList dans l'objet B et qui stockerait l'objet C.

    Pouvez-vous me dire qu'elle serait la bonne méthode entre la "cascade de métthode", l'utilisation d'une liste chainée ou un ArrayList, ou une autre méthode.

    Merci

  2. #2
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Salut,

    Je ne vois pas en quoi "la cascade de méthodes" serait à l'encontre de la philosophie objet...

    Par contre, ce qui est sùr, c'est que la méthode que tu proposes avec les collections n'est pas du tout élégante.

    Renseigne-toi sur le principe d'encapsulation en OO : Il suffirait alors de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monObjetA.getB().methodeDeB();
    J'espère que j'ai été assez clair.

    @+


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  3. #3
    Invité
    Invité(e)
    Par défaut
    Ok, je laisse de côté l'idée des collections.

    D'après ce que tu dis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monObjetA.getB().methodeDeB();
    Je comprend.

    En fait, il suffit de créer une methode dans B renvoyant l'objet C.

    On a ensuite accès aux données de C.

    Je sentais bien que "ma cascade de méthodes" était lourde.

    Merci beaucoup.

Discussions similaires

  1. Accés aux objets d'un autre utilisateur
    Par ariesnojf dans le forum Oracle
    Réponses: 2
    Dernier message: 02/02/2007, 18h30
  2. [Corba/Java] Accès aux objets
    Par soa dans le forum CORBA
    Réponses: 4
    Dernier message: 16/01/2007, 18h14
  3. [C++/CLI] Accès aux objets en global
    Par kinouseb dans le forum C++/CLI
    Réponses: 5
    Dernier message: 22/11/2006, 09h08
  4. [c#] Méthode d'accès aux objets de ma form1
    Par SDuh dans le forum Windows Forms
    Réponses: 5
    Dernier message: 21/03/2006, 11h21
  5. [TGroupBox] Accès aux objets
    Par JediKerian dans le forum Composants VCL
    Réponses: 3
    Dernier message: 04/04/2003, 14h34

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