Vererbungsbeziehung
Die Vererbung ist eines der grundlegenden Konzepte der Objektorientierung und hat große Bedeutung in der Softwareentwicklung. Die Vererbung dient dazu, aufbauend auf existierenden Klassen (Oberklasse) neue Klassen (Unterklassen) zu schaffen, wobei die Beziehung zwischen ursprünglicher und neuer Klasse dauerhaft ist. Die Vererbung dient der Dokumentation von Ähnlichkeiten zwischen Klassen, was insbesondere in den frühen Phasen des Softwareentwurfs von Bedeutung ist.
Das folgende Entwurfsdiagramm zeigt eine Vererbungssituation, bei der die Unterklasse Sportauto und SUV Erweiterungen einer Basisklasse Auto darstellen.
Übernehmen, ergänzen und überschreiben
Bei der Vererbung übernimmt die Unterklasse die Attribute und Methoden der Oberklasse.
Eine übernommene Methode kann dabei neu definiert (überschrieben) werden. Im Klassendiagramm ist zum Beispiel gezeigt, dass die Klasse Sportauto
die Methode beschleunigen
neu definiert.
Die Unterklasse kann um zusätzliche Attribute und Methoden erweitert werden. Im Klassendiagramm ist zum Beispiel gezeigt, dass die Klasse SUV
ein neues Attribut kofferraumOffen
besitzt.
Spezialisierung und Generalisierung
Wenn eine neue Oberklasse definiert wird, dann sprechen wir von einer Generalisierung.
Wird hingegen eine neue Unterklasse definiert, dann sprechen wir von einer Spezialisierung.
Überprüfe dich
- Gegeben ist folgendes Klassendiagramm (Link zum Mermaid-Live Editor). Modifiziere das Klassendiagramm so, dass das Konzept der Vererbung sinnvoll genutzt ist.
- Es existieren die Klassen Fussballer, Turnerin und Judoka. Eine neue Klasse Sportlerin wird angelegt. Handlet es sich um eine Spezialisierung oder Generalisierung?