Agrégation (programmation)

Un article de Wikipédia, l'encyclopédie libre.

symbole graphique de l'agrégation dans les diagrammes de la modélisation UML.
symbole graphique de l'agrégation dans les diagrammes de la modélisation UML.

En programmation informatique et plus précisément en programmation orientée objet, l'agrégation permet de définir une entité comme étant liée à plusieurs entités de classe différente. C'est une généralisation de la composition, qui n'entraine pas l'appartenance.

Par exemple, une université est composée de plusieurs facultés, et chaque faculté est un agrégat de plusieurs professeurs. La destruction de l'université implique la destruction des facultés qui la composent, alors que la destruction d'une faculté n'implique pas la destruction des professeurs liés à cette faculté par une relation d'agrégation. On peut écrire cet exemple en C++ :

class Professeur;
 
class Departement
{
  ...
  private:
    // Agrégation
    Professeur* enseignants[5];
  ...
};
 
class Universite
{
  ...
  private:
    // Composition
    Departement facultes[20];
  ...
};

En UML, l'agrégation se note par un trait entre deux classes orné d'un losange blanc du côté de la classe agrégat.

[modifier] Voir aussi

Autres langues