Was ist der Unterschied zwischen Aggregation und Generalisierung in UML?

Inhaltsverzeichnis:

Anonim

Die Hauptunterschied zwischen Aggregation und Generalisierung in UML ist das Aggregation ist eine Assoziation von zwei Objekten, die mit der "hat a"-Beziehung verbunden sind, während Generalisierung der Prozess ist, eine allgemeine Klasse aus mehreren Klassen zu bilden.

Es ist nicht möglich, komplexe Software auf einmal zu entwickeln. Daher ist es notwendig zu verstehen, was die Software leisten soll, bevor Sie sie implementieren. Unified Modeling Language (UML) ist eine visuelle Diagrammsprache, die bei der Modellierung von Software hilft. Es ist anders und einfacher als Programmiersprachen wie Java und C++. Da es eine bildliche Darstellung bietet, kann auch eine nicht technisch versierte Person UML lernen und verstehen. Klassen- und Objektdiagramm sind zwei Arten von UML-Diagrammen. Außerdem beschreiben sie die statische Sicht auf das System. Aggregation und Generalisierung beziehen sich auf diese Diagramme.

Aggregation, Generalisierung, Vererbung, UML

Was ist Aggregation in UML?

Eine Assoziation stellt die Beziehung zwischen zwei Objekten dar. Aggregation ist eine Art von Assoziation. Mit anderen Worten, es ist ein Sonderfall der Assoziation. Wenn ein Objekt ein anderes Objekt „hat“, können wir es als Aggregat betrachten. Daher beschreibt Aggregation die Beziehung „hat eine“ zwischen Objekten.

Abbildung 1: Aggregation

Der Mitarbeiter und die Adresse sind mit der „hat a“-Beziehung verknüpft. Eine Instanz der Address-Klasse kann ohne eine Instanz des Employees existieren. Es ist eine Ansammlung. In UML repräsentiert das Rautensymbol eine Aggregation. Die Richtung gibt an, welches Objekt das andere Objekt enthält.

Was ist Generalisierung in UML?

Generalisierung ist mit Vererbung verbunden, bei der es Klassen erlaubt wird, die Eigenschaften und Methoden bereits vorhandener Klassen zu verwenden. Die vorhandene Klasse ist die Oberklasse, während die neue Klasse die Unterklasse ist. Die Generalisierung fasst mehrere Klassen zu einer allgemeinen Klasse zusammen. Darüber hinaus hat die Superklasse die allgemeinsten Eigenschaften und Methoden. Unterklassen können diese Eigenschaften und Methoden gemeinsam nutzen. Unterklassen können spezielle Eigenschaften und Methoden haben. Da eine Unterklasse eine Art von Superklassen ist, stellt die Generalisierung eine „ist eine“ Beziehung dar.

Abbildung 2: Generalisierung

Mitarbeiter ist die Oberklasse. Unbefristete und befristete Angestellte sind Unterklassen, während Angestellte die verallgemeinerte Form von unbefristetem und befristetem Angestellten ist. Auf der anderen Seite sind unbefristete und befristete Arbeitnehmer spezialisierte Formen von Arbeitnehmern. Der Mitarbeiter hat die Eigenschaften ID, Name, Gehalt und die Methodenanzeige. Auch die Unterklassen Festangestellte und Zeitarbeitnehmer können diese Eigenschaften und Methoden verwenden. Darüber hinaus haben die Unterklassen ihre eigenen Eigenschaften und Methoden. In UML steht ein Pfeil für Generalisierung.

Unterschied zwischen Aggregation und Generalisierung in UML

Definition

Aggregation ist eine Assoziation zwischen zwei Objekten, die die "hat a"-Beziehung beschreibt, während Generalisierung ein Mechanismus zum Kombinieren ähnlicher Klassen von Objekten in einer einzigen allgemeinen Klasse ist. Dies erklärt also den Hauptunterschied zwischen Aggregation und Generalisierung in UML.

Beziehung

Aggregation bezeichnet „hat eine“ Beziehung, während Generalisierung „ist eine“ Beziehung bezeichnet.

UML-Darstellung

Ein Rautensymbol repräsentiert eine Aggregation, während ein Pfeilsymbol eine Generalisierung repräsentiert. Daher erklärt dies den Unterschied zwischen Aggregation und Generalisierung in UML weiter.

Abschluss

Kurz gesagt, Aggregation und Generalization sind zwei Konzepte, die in UML-Diagrammen dargestellt werden können. Der Hauptunterschied zwischen Aggregation und Generalization in UML besteht darin, dass Aggregation eine Assoziation von zwei Objekten ist, die mit der Beziehung „hat a“ verbunden sind, während Generalization der Prozess ist, eine allgemeine Klasse aus mehreren Klassen zu bilden.

Verweise:

1. „Assoziation, Aggregation, Komposition, Abstraktion, Generalisierung, Realisierung, Abhängigkeit.“ Javapapers, hier erhältlich.

Was ist der Unterschied zwischen Aggregation und Generalisierung in UML?