Mehrfachvererbung
Mehrfachvererbung (englisch: multiple inheritance) bedeutet bei einer objektorientierten Programmiersprache, dass mehre verschiedene Klassen an ein und die selbe Klasse vererbt werden bzw. - anders herum betrachtet - eine Klasse von mehr als einer Basisklasse abgeleitet ist.
Programmiersprachen mit Mehrfachvererbung sind z.B. C++, Eiffel und Python, dagegen unterstützen Java und Smalltalk diese Möglichkeit nicht.
Als Einwand gegen Mehrfachvererbung wird häufig genannt, dass es das Design unnötig kompliziert und undurchsichtig machen kann.
Die häufigsten Probleme, die mit der Mehrfachvererbung auftreten und in den verschiedenen Sprachen unterschiedlich aufgelöst werden, sind vor allem Namenskonflikte, wenn verschiedene vererbende Klassen Attribute oder Prozeduren gleichen Namens aufweisen.