Generalization (UML)
Generalization (Engl. Generalization ) is a model element in the Unified Modeling Language (UML), a modeling language for software and other systems. It describes a taxonomic relationship between a special and a general classifier .
description
A generalization in UML is a directed relationship between a special and a general classifier. Instances of the special classifier are thus also instances of the general classifier. In concrete terms, this means that the special classifier implicitly has all the characteristics (structural and behavioral characteristics) of the general classifier - implicitly because these characteristics are not explicitly declared in the special classifier. It is said that he “inherits” them from the general classifier.
A generalization relationship can exist between two classifiers of the same type, for example two classes , two components , two interfaces , two associations or two use cases . Inheritance between packets (which are also not classifiers) is not possible . However, UML2 has a relationship with packet merging which is closely related to generalization and which can relate two packets.
If there is a generalization relationship between a class KGenerell
and a class KSpeziell
, it is also said that there KGenerell
is a generalization of KSpeziell
, or vice versa, KSpeziell
a specialization of KGenerell
or is KSpeziell
specialized KGenerell
.
A classifier can specialize more than one classifier.
notation
A generalization is shown as a solid line between the two classifiers involved. At the end of the general classifier, a closed, empty arrowhead is drawn.
In the example on the right, the class is Privatkunde
a specialization of Person
. It declares the attribute kundennummer
and also implicitly has the attributes name
and vorname
from the class Person
.
See also
- Entity relationship model
- Package merging
- Interface realization relationship
- Inheritance (programming)
Individual evidence
- ↑ a b c DHBW-Stuttgart: Unified Modeling Language - Generalization. Retrieved September 18, 2018 .
- ↑ a b TU Graz: UML_Generalization. Retrieved September 18, 2018 .
- ↑ a b TU Dortmund generalization. Retrieved September 18, 2018 .