UML Vererbung
Wissen kompakt: Die Vererbung ist ein zentrales Konzept der Objektorientierung bzw. der UML, bei dem Attribute und/oder Methoden einer Klasse an eine andere Klasse vererbt werden.
UML-Vererbung – Ein zentrales Konzept der Objektorientierung
Die Vererbung ist ein zentrales Konzept der Unified Modeling Language (UML) und wird bei der Gestaltung von Klassen und der Modellierung von Klassendiagrammen genutzt. Eine Klasse besteht aus einer Sammlung von Attributen und Methoden, die den Zustand und das Verhalten ihrer Instanzen bestimmt. Mit Hilfe der Vererbung werden Attribute und/oder Methoden einer Klasse an eine andere Klasse vererbt. Die vererbende Klasse wird als Basisklasse – alternativ auch als Super, Eltern- oder Oberklasse – und die erbende Klasse als abgeleitete Klasse – bzw. als Sub-, Kind- oder Unterklasse – bezeichnet.
Die Beziehung zwischen Basisklasse und abgeleiteter Klasse ist dauerhaft, wobei eine abgeleitete Klasse die Liste der Attribute und Methoden erweitern sowie Methoden umdefinieren kann, sofern die Modifikatoren der Basisklasse dies erlauben. Damit kann eine neue Klasse eine Erweiterung oder eine Einschränkung der ursprünglichen Klasse sein. Erbt eine abgeleitete Klasse von mehr als einer Basisklasse, ist dies eine sogenannte Mehrfachvererbung.
Die Generalisierungshierarchie
Eine Basisklasse kann auch als Verallgemeinerung bzw. Generalisierung ihrer abgeleiteten Klassen gesehen werden, da ihre Attribute und Methoden die Gemeinsamkeiten aller abgeleiteten Klassen festlegen. In diesem Zuge wird auch von Generalisierungshierarchie gesprochen. Ein ähnlicher Begriff in diesem Zusammenhang ist die Vererbungshierarchie, die im Kontext der Erhebung von Anforderungen und bei der Systemstrukturierung gerne genutzt wird. Tiefe Vererbungshierarchien gilt es jedoch zu vermeiden, da sie entsprechende Klassen und den darin enthaltenen Code stark koppeln.
In der UML wird eine Vererbungsbeziehung durch einen Pfeil mit dreieckiger Spitze dargestellt, der von der abgeleiteten Klasse zur Basisklasse zeigt. Geerbte Attribute und Methoden werden in der Darstellung der abgeleiteten Klasse nicht wiederholt.
Bei der Implementierung von Clean Code wird empfohlen, anstelle von Vererbungen Kompositionen zu verwenden. FCoI – Favour Composition over Inheritance nennt sich das entsprechende Prinzip.
Hier finden Sie eine umfangreiche Beschreibung der Vererbung inklusive Beispiele und Besonderheiten.
Wenn Ihnen der Beitrag gefällt, teilen Sie ihn gerne in Ihrem Netzwerk. Und falls Sie sich für Tipps aus der Praxis interessieren, dann testen Sie unseren beliebten Newsletter mit neuen Beiträgen, Downloads, Empfehlungen und aktuellem Wissen. Vielleicht wird er auch Ihr Lieblings-Newsletter.
Wir suchen Softwareentwickler und Softwareentwicklerinnen. Haben Sie Lust, unser Team zu verstärken? Ob Sie als Berufseinsteiger die ersten Schritte machen, bereits einige Jahre Erfahrung mitbringen oder als Expertin tief im Code stecken – bei uns finden Sie genau die Herausforderung, die zu Ihnen passt!
Und hier finden Sie ergänzende Informationen aus unserer Rubrik Wissen kompakt: