Mehrfachvererbung - LinkFang.de





Mehrfachvererbung


Bei der Objektorientierten Programmierung handelt es sich um Mehrfachvererbung, wenn eine abgeleitete Klasse direkt von mehr als einer Basisklasse erbt. Ein sequentielles, mehrstufiges Erben wird dagegen nicht als Mehrfachvererbung bezeichnet.

Ein Anwendungsbeispiel hierfür ist die Modellierung eines Amphibienfahrzeugs, das sowohl die Attribute von Landfahrzeug als auch die von Wasserfahrzeug erbt. Damit besitzt Amphibienfahrzeug sowohl eine Räderzahl als auch einen Tiefgang.

Nur wenige Programmiersprachen bieten die Möglichkeit der Mehrfach-Klassenvererbung, zum Beispiel C++, CLOS, Eiffel, Perl und Python. Als Einwand gegen Mehrfach-Klassenvererbung wird häufig genannt, dass sie das Design unnötig kompliziert und undurchsichtig machen können. So kann es dadurch zu Mehrdeutigkeiten im Rahmen des Diamond-Problems kommen. Bei einigen Programmiersprachen, wie zum Beispiel Oberon und dessen Weiterentwicklungen, wurde daher bewusst auf die Möglichkeit der mehrfachen Implementationsvererbung verzichtet, was durch die Verwendung von Zwillingsklassen kompensiert werden kann.[1]

Hingegen ist Mehrfach-Schnittstellenvererbung unproblematisch. In Java, Object Pascal (Delphi), C# und VB.NET kann eine Klasse beliebig viele Schnittstellen erben. Damit verpflichtet sich diese Klasse, die Methoden der Schnittstelle zur Verfügung zu stellen, und stellt damit auch etwas Ähnliches wie die Ist-ein-Beziehung, die Verhält-sich-wie-Beziehung, her.

Mit einfacher Klassenvererbung und mehrfacher Schnittstellenvererbung sind die meisten Anforderungen an ein Software-Design realisierbar, ohne die Nachteile der uneingeschränkten Mehrfachvererbung in Kauf nehmen zu müssen.

Literatur

  • Bernhard Lahres, Gregor Rayman: Praxisbuch Objektorientierung. Von den Grundlagen zur Umsetzung. Galileo Press, Bonn 2006, ISBN 3-89842-624-6
  • Iain D. Craig: Object-Oriented Programming Languages: Interpretation. Springer Verlag, London 2007, ISBN 1-84628-773-1

Einzelnachweise

  1. Hanspeter Mössenböck: Objektorientierte Programmierung in Oberon-2. Springer-Verlag, 1993.

Weblinks


Kategorien: Objektorientierte Programmierung

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Mehrfachvererbung (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.