Klassendiagramme mit UML

Einfachvererbung versus Mehrfachvererbung

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
In der Vererbung unterscheidet man zwischen Mehrfach- und Einfachvererbung. UML-Klassendiagramme unterstützen auch die Darstellung der Mehrfachvererbung, bei der eine Klasse mehrere direkte Superklassen hat.
03:44

Transkript

Man kann zwischen Einfachvererbung und Mehrfachvererbung unterscheiden. In der objektorientierten Philosophie gibt es beide Möglichkeiten. Wir werden uns in diesem Video kurz ansehen, was die Unterschiede sind. In der Praxis findet man eigentlich nur noch Einfachvererbung. Einfachvererbung bedeutet, dass man eine Superklasse hat. Die kann beliebig viele Subklassen haben. Aber eine Klasse kann immer nur genau eine direkte Superklasse haben. Das kann jetzt von Fahrzeug aus weiter zu Klassen gehen, also indirekt kann jede Klasse mehrere Superklassen haben, aber direkt immer nur eine. Dieser Mechanismus wird Einfachvererbung genannt. Das ist in der Praxis heutzutage Usus. Es gibt allerdings eine sehr wichtige Sprache, die immer noch Mehrfachvererbung unterstützt und wahrscheinlich auf Ewigkeiten. Das ist C++. Der Mechanismus der Mehrfachvererbung ist also nicht unwichtig. Ganz im Gegenteil. C++ ist ja eine sehr wichtige Sprache. Allerdings hat Mehrfachvererbung eine ganze Menge Nachteile und ist teilweise sehr schwer wartbar und sehr anfällig für diverse Probleme. Deswegen haben Sprachen wie Java oder CSharp explizit keine Mehrfachvererbung zur Verfügung gestellt. Grundsätzlich würde man jetzt bei der Mehrfachvererbung zum Beispiel für ein Motorfahrzeug eine weitere Klasse bereitstellen können. Diese könnten wir jetzt beispielsweise mal Form nennen. Hier soll es ein Attribut geben, machen wir's ganz einfach, Typ: String. Ich stelle mir da vor, dass man dann Cabrio angibt oder Kombi, Limousine, und was es da alles so gibt. SUV, was auch immer man sich da vorstellen kann. Das Wichtige an der Geschichte ist, in der Mehrfachvererbung können wir jetzt wieder mit dem Stereotyp der Verallgemeinerung arbeiten. Wir können sagen: Das Motorfahrzeug erbt nicht nur Fahrzeug, sondern auch von einer Klasse Form. Ein Motorfahrzeug ist eine Spezialisierung eines allgemeinen Typs von Cabrio. Wobei ich ehrlichgesagt bei Cabrio etwas Schwierigkeiten hätte, mir da eine andere Möglichkeit als ein Motorfahrzeug vorzustellen. Na gut. Es gibt diese Kinderspielzeuge, die es auch als Cabrio gibt. Kettcar! Es gibt da schon Möglichkeiten. Für uns ist wichtig: Eine Klasse hat hier eben zwei Superklassen. Beliebig viele Superklassen. Das nennt man Mehrfachvererbung. UML unterstützt das grundsätzlich und es lässt sich, wie eingangs erwähnt, auch in einigen objektorientierten Programmiersprachen umsetzen. Ganz konkret C++ als wichtigster Vertreter. Aber auch dort geht man eigentlich dazu über, Mehrfachvererbung gar nicht anzuwenden, um keine Schwierigkeiten in der Wartbarkeit und Zuverlässigkeit zu haben. Teils ist es sinnvoll. Aber der Preis, den man dafür zahlt, ist sehr hoch. Das soll uns aber aus Sicht von UML nicht interessieren. Sie haben grundsätzlich gesehen, dass man in UML-Diagrammen sowohl Einfachvererbung als auch Mehrfachvererbung darstellen kann.

Klassendiagramme mit UML

Verstehen Sie das Prinzip von OOP und erstellen Sie Klassendiagramme mit der Modellierungssprache UML.

2 Std. 1 min (32 Videos)
Derzeit sind keine Feedbacks vorhanden...
Exklusiv für Abo-Kunden
Erscheinungsdatum:20.10.2014

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!