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

Diagrammes de Classes Discussion :

[UML] Comprendre l'Agrégation...


Sujet :

Diagrammes de Classes

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Septembre 2005
    Messages : 63
    Par défaut [UML] Comprendre l'Agrégation...
    Bonjour à tous,

    Sur le principe UML pur, j'ai tout à fait compris ce que sont l'agrégation et la composition.

    Cependant j'arrive à percevoir l'implémentation de la composition assez facilement, mais je ne vois pas comment implémenter l'agrégation.

    Quelqu'un pourrait il me faire un petit bout de code C#, Java ou C++ afin que je comprenne cette liaison.



    Merci d'avance

  2. #2
    Membre confirmé
    Inscrit en
    Septembre 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Septembre 2005
    Messages : 63
    Par défaut
    Histoire de voir si vous êtes d'accord avec moi, une composition peut etre codée de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    class A { 
     private B objB; 
      ... 
    }
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class A 
    { 
     private att1; 
     private class B 
     { 
       string att_de_B_1; 
      } 
    }
    ----------------------------------------------------------------

    J'ai mon idée sur l'agrégation mais je veux être conforté dessus...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    class A { 
     private B objB; 
     A(B bb)
     {
        objB = bb;
     }
    }
    Ainsi il n'y a pas un couplage fort, si A est détruit, B ne l'est pas aussi.

    Suis je dans le bon raisonnement ?

  3. #3
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Billets dans le blog
    2
    Par défaut
    Attention, il s'agit plus de cycle de vie des objets que de structure côté code.
    Tu peux tout à fait avoir une composition entre A et B et avoir au niveau de A une référence/pointeur vers B (si on parle C++). Le tout sera d'assurer qu'un B et pointé par un seul et unique A.
    Pour l'agrégation c'est plus ou moins identique sauf que tu n'as pas la contrainte précédente.
    Au niveau de la destruction (destructeur en C++), il faut assurer que A tue le ou les B qu'il référence dans le cas de la composition alors que ce n'est pas le cas dans l'agrégation.

    Au final, il faut plutôt travailler sur la structure des constructeurs et destructeurs.

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Septembre 2005
    Messages : 63
    Par défaut
    D'accord je comprends maintenant mieux la nuance entre ces deux liaisons.

    Merci bcp <b>ego</b> !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/06/2016, 18h20
  2. UML diagramme de Classe : une agrégation ou composition cyclique ?
    Par Marlon Brando dans le forum Diagrammes de Classes
    Réponses: 1
    Dernier message: 11/02/2012, 10h28
  3. UML des exercices pour mieux comprendre
    Par maa dans le forum Débuter
    Réponses: 6
    Dernier message: 25/08/2008, 22h13
  4. [UML]Agrégation et Classe d'association
    Par loverdose dans le forum Diagrammes de Classes
    Réponses: 2
    Dernier message: 01/06/2007, 09h30
  5. [UML] Agrégation VS attributs
    Par bizulk dans le forum Diagrammes de Classes
    Réponses: 3
    Dernier message: 18/12/2006, 16h20

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