Die Vererbungsbeziehung ist die Grundlage zur Klassifizierung von Objekten mit gemeinsamen Eigenschaften und vergleichbarem Verhalten.
Die Klasse ``CMitarbeiter'' und die Klasse ``CPlaner'' besitzen Komponenten, die sich teilweise überdecken. In beiden Klassen findet sich das Attribut ``Name'' sowie die Operationen ``setName'' und ``getName''. Damit nicht in beiden Klassen die gleiche Implementationsarbeit verrichtet werden muß, kann eine Klasse ``CPerson'' eingeführt werden. Diese Klasse beinhaltet das Attribut ``Name'' und die Operationen ``setName'' und ``getName''. Die beiden Subklassen ``CMitarbeiter'' und ``CPlaner'' erben von der Superklasse ``CPerson''. Dieser im Beispiel beschriebene Weg, um zu einer Vererbungsbeziehung zu gelangen, nennt man Generalisierung (hin zum Allgemeinen). Es ist auch der andere Weg denkbar, daß man von einer bestehenden Klasse eine neue Klasse mit zusätzlichen Attributen und Operationen ableitet. Dies nennt man Spezialisierung (hin zum Speziellen). In der Darstellung der UML und in Rational Rose wird nicht zwischen Generalisierung und Spezialisierung unterschieden.
Führen Sie die folgenden Anweisungen aus!
Das folgende Bild zeigt eine Generalisierungsbeziehung.
