Vererbung ist nicht immer sinnvoll. Und Mehrfachvererbung ist es auch nicht. Man muss eine Klasse schon sehr genau kennen wenn man vorhat das Erbe derer anzutreten. So ist oftmals DI der zweckmäßigere Weg.
Es gibt jedoch zumindest in Perl Möglichkeiten, Abhängigkeiten virtuell zu manifestieren um Programmcode lesbarer zu machen. Beispiel:
package xCGI::File;
..
package xCGI;
..
Als eine weitere Möglichkeit einer sauberen und reproduzierbaren Programmierung. Die Abhängigkeit der Klasse xCGI::File
von Klasse xCGI
ist rein virtuell. Tatsächlich findet hier gar keine Vererbung statt.
Diese Virtualisierung ist auch wesentlich für CPAN. Viele Autoren halten sich daran und das aus gutem Grunde. MFG
PS: Neue CPAN Autoren werden auf diese Möglichkeit auch hingewiesen. Also daß bereits am Namen der Package zu sehen ist in welche KlassenHierarchie die gehört. So gib es bspw. die libnet und libwww. In Letzerer spielen sehr viele Klassen zusammen und so kommen sowohl DI als auch Vererbung gleichermaßen zur Anwendung.