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 :

[DC] association, agrégation et composition


Sujet :

Diagrammes de Classes

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 159
    Par défaut [DC] association, agrégation et composition
    Salut,

    Je suis en train de faire un digramme de classe et je me pose quelques questions.

    J'ai 2 classes A et B.
    Certaines méthodes de A prennent en paramètres des variables de type B. Dois-je faire une association entre A et B dans le diagramme de classe?

    Une autre question: C'est quoi la différence entre agrégation et composition? sur le Net j'ai trouvé des définitions tellement différentes que je n'ai rien compris

    Merci pour votre aide

  2. #2
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 159
    Par défaut
    Salut,

    Je me suis peut etre mal exprimé sur ma première question...
    "Certaines méthodes de A prennent en paramètres des variables de type B" je voulais dire que dasn les méthodes de A on fait appels à des méthodes de B bien évidement sur les variables de type B passées en paramètres aux méthodes de A. Peut-on dire qu'il y a une association entre A et B? Si oui cette association est elle unidirectionnelle?

    Merci

  3. #3
    Membre expérimenté Avatar de ze_corsaire
    Inscrit en
    Décembre 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Décembre 2007
    Messages : 240
    Par défaut
    Ce n'est pas parce que tu utilises en paramètre une classe que celle-ci doit être agrégée ou associée à la classe courante, bien au contraire.
    Prenons un exemple, une classe Vecteur pour laquelle je définis une méthode additioner. Cette méthode additionner prend un paramètre, le deuxième Vecteur que je veux additioner à l'instance courante. Mon Vecteur n'est pas associé à lui-même ni agrégé à lui-même ...

    ______________

  4. #4
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 159
    Par défaut
    Alors quand est ce qu'on a une relation d'association??
    C'est quand une classe possède inclut une instance d'une autre classe en tant qu' attribut? ce serait une agrégation dans ce cas, non?
    Je comprends pas quand est ce qu'on peut dire qu'il y a une association entre deux classe

    Merci pour votre aide

  5. #5
    Membre Expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Par défaut
    Il y a une différence entre association et agrégation...

    Par exemple, la relation entre un Hotel et ses Chambres est une Composition : dès que l'Hotel 'meurt', les Chambres aussi

    La relation entre une Personne est son adresse peut être vue comme une agragation : la classe Personne possède un attribut de type adresse, mais l'Adresse ne meurt pas forcément quand la Personne déménage, ou "décède".

    Une simple association serait entre une classe A et B si A était en mesure de fournir des B via une méthode par exemple.

    A noter que tout composition est une agrégation , que toute agrégation est une association.

  6. #6
    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 : 56
    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
    on créé des associations dès lors qu'il existe des liens structurels entre les choses. Rien à voir avec la "dynamique" de l'application.
    Ex : une personne possède 2 bras et 2 jambes. Un élève participe à une session de formation qui est animé par un formateur dans une salle donnée.
    Tu as des relations d'association entre les noms mentionnés dans les phrases précédentes.

    La relation entre une Personne est son adresse peut être vue comme une agragation : la classe Personne possède un attribut de type adresse, mais l'Adresse ne meurt pas forcément quand la Personne déménage, ou "décède".
    Bien que cela dépend du contexte, on peut quand même se demander si l'agrégation a du sens ici. Une agrégation est utilisée pour dire "est une partie de", "est constitué de". Je ne pense pas qu'une personne soit constituée d'une adresse. Une simple association est suffisante ici.

  7. #7
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 159
    Par défaut
    Citation Envoyé par hed62 Voir le message
    ... Une simple association serait entre une classe A et B si A était en mesure de fournir des B via une méthode par exemple...
    Donc si j'ai bien compris si on a la configuration suivante:

    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
    public class A {
    ...
    ...
      B methodeDeA (...){
         ...
         B valRetour;
         ...
        return valRetour
       }
    ...
    }
    
    public class B{
    ...
    ...
    }
    Dans ce cas il existe une association entre A et B?


    Merci

Discussions similaires

  1. 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
  2. Réponses: 18
    Dernier message: 21/08/2011, 16h09
  3. Agrégation et composition
    Par yo_haha dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 27/12/2009, 16h01
  4. Image - ImageIcon : composition ou agrégation?
    Par ®om dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 01/07/2006, 19h56

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