Composition

DéfinitionAssociation de composition

On appelle composition une association particulière qui possède les propriétés suivantes :

  • La composition associe une classe composite et des classes parties, tel que tout objet partie appartient à un et un seul objet composite. C'est donc une association 1:N (voire 1:1).

  • La composition n'est pas partageable, donc un objet partie ne peut appartenir qu'à un seul objet composite à la fois.

  • Le cycle de vie des objets parties est lié à celui de l'objet composite, donc un objet partie disparaît quand l'objet composite auquel il est associé disparaît.

Remarque

  • La composition est une association particulière (binaire de cardinalité contrainte).

  • La composition n'est pas symétrique, une classe joue le rôle de conteneur pour les classes liées, elle prend donc un rôle particulier a priori.

  • La composition est une agrégation avec des contraintes supplémentaires (non partageabilité et cycle de vie lié).

SyntaxeNotation d'une composition en UML

Notation de la composition en UML

AttentionComposition et cardinalité

La cardinalité côté composite est toujours de exactement 1.

Côté partie la cardinalité est libre, elle peut être 0..1, 1, * ou bien 1..*.

ExempleExemple de composition

Un livre

On voit bien ici qu'un chapitre n'a de sens que faisant partie d'un livre, qu'il ne peut exister dans deux livres différents et que si le livre n'existe plus, les chapitres le composant non plus.

RemarqueComposition et entités faibles

La composition permet d'exprimer une association analogue à celle qui relie une entité faible à une entité identifiante en modélisation E-A[1]. L'entité de type faible correspond à un objet partie et l'entité identifiante à un objet composite.

ConseilComposition et attribut multivalué

  • Une composition avec une classe partie dotée d'un seul attribut peut s'écrire avec un attribut multivalué.

  • Un attribut composé et multivalué peut s'écrire avec une composition.

RappelVoir aussi