Quelle est la différence entre l'agrégation et la généralisation dans UML

Table des matières:

Anonim

Les différence principale entre Agrégation et Généralisation en UML est que L'agrégation est une association de deux objets qui sont liés à la relation "a un" tandis que la généralisation est le processus de formation d'une classe générale à partir de plusieurs classes.

Il n'est pas possible de développer un logiciel complexe à la fois. Par conséquent, il est nécessaire de comprendre ce que le logiciel doit effectuer avant de les mettre en œuvre. Unified Modeling Language (UML) est un langage de création de diagrammes visuel qui aide à modéliser les logiciels. C'est différent et plus facile que les langages de programmation tels que Java et C++. Comme il fournit une représentation graphique, même une personne non technique peut apprendre et comprendre UML. Les diagrammes de classes et d'objets sont deux types de diagrammes UML. De plus, ils décrivent la vue statique du système. L'agrégation et la généralisation sont liées à ces diagrammes.

Agrégation, Généralisation, Héritage, UML

Qu'est-ce que l'agrégation en UML

Une association représente la relation entre deux objets. L'agrégation est un type d'association. En d'autres termes, il s'agit d'un cas particulier d'association. Lorsqu'un objet "a-a" un autre objet, alors on peut le considérer comme une agrégation. Par conséquent, l'agrégation décrit la relation « a une » entre les objets.

Figure 1: Agrégation

L'employé et l'adresse sont liés à la relation « a un ». Une instance de la classe Address peut exister sans instance de l'Employee. C'est une agrégation. En UML, le symbole du losange représente une agrégation. La direction indique quel objet contient l'autre objet.

Qu'est-ce que la généralisation en UML

La généralisation est associée à l'héritage, qui est le processus permettant aux classes d'utiliser les propriétés et les méthodes des classes déjà existantes. La classe existante est la superclasse tandis que la nouvelle classe est la sous-classe. La généralisation combine plusieurs classes en une classe générale. De plus, la superclasse a les propriétés et les méthodes les plus générales. Les sous-classes peuvent partager ces propriétés et méthodes. Les sous-classes peuvent avoir des propriétés et des méthodes spécialisées. Comme une sous-classe est un type de super-classes, la généralisation représente « est une » relation.

Figure 2: Généralisation

L'employé est la superclasse. Les employés permanents et temporaires sont des sous-catégories, tandis que les employés sont la forme généralisée des employés permanents et temporaires. D'autre part, les employés permanents et temporaires sont des formes spécialisées d'employés. L'employé a des propriétés id, nom, salaire et la méthode d'affichage. Les sous-classes Permanent et Temporary Employee peuvent également utiliser ces propriétés et méthodes. De plus, les sous-classes ont leurs propres propriétés et méthodes. En UML, une flèche représente la généralisation.

Différence entre agrégation et généralisation en UML

Définition

L'agrégation est une association entre deux objets qui décrit la relation « a une » tandis que la généralisation est un mécanisme permettant de combiner des classes d'objets similaires en une seule classe générale. Ainsi, cela explique la principale différence entre l'agrégation et la généralisation en UML.

Relation amoureuse

L'agrégation dénote « a une » relation tandis que la généralisation dénote « est une » relation.

Représentation UML

Un symbole de diamant représente une agrégation tandis qu'un symbole de flèche représente une généralisation. Par conséquent, cela explique davantage la différence entre l'agrégation et la généralisation en UML.

Conclusion

En bref, l'agrégation et la généralisation sont deux concepts qui peuvent être représentés dans les diagrammes UML. le différence principale entre l'agrégation et la généralisation dans UML est que l'agrégation est une association de deux objets qui sont liés à la relation « a un », tandis que la généralisation est le processus de formation d'une classe générale à partir de plusieurs classes.

Les références:

1. "Association, Agrégation, Composition, Abstraction, Généralisation, Réalisation, Dépendance." Javapapers, disponible ici.

Quelle est la différence entre l'agrégation et la généralisation dans UML