Hi!
Ich hab mich ehrlich gesagt noch nicht mit den Vor und Nachteilen von Mehrfachvererbung beschäftigt. Jedoch fällt mir auch spontan kein Fall ein, wo ich es verwenden würde.
Manches lernt man erst schätzen, wenn man einen konkreten Fall vorliegen hat und es dann da ist.
Man nehme eine Klasse, vielleicht aus einem Framework. Diese beerbe man. Außerdem möchte man neue Funktionalität haben, die dann aber nicht nur in dieser Klasse sondern auch in anderen Klassen. Das Framework erweitern und die Funktionalität einer Basisklasse hinzufügen ist nicht immer möglich und sinnvoll. Und auch wenn man den Code ändern kann, kann es passieren, keine gemeinsame Basisklasse zu finden. Mit Mehrfachvererbung kein Problem, da kann ich diese Funktionalität mehreren Klassen hinzufügen. Steht mir dieses Werkzeug nicht zur Verfügung kann ich nur ein Interface implementieren und muss dafür aber die Implementation in alle Klassen hineinkopieren, hab also bei einer Änderung x Codeteile, die zu ändern sind.
Zugegeben, diese Anwendungsfälle bilden (in meiner Erfahrung) eine recht kleine Randgruppe. Und ins Knie schießen kann man sich mit jeder Technik, dazu braucht es keine Mehrfachvererbung.
Lo!