Hallo,
ich bin nicht Sven, aber ein paar Einblicke kann ich auch geben.
Vererbung ist der schlechtere Part von OOP
Warum soll Vererbung schlecht sein und was ist deiner Ansicht nach der bessere Teil?
Das Problem an Vererbung ist, dass es zwei Klassen direkt und hart miteinander koppelt ohne eine Möglichkeit, diese in irgendeiner Form voneinander zu trennen. Es gibt Einsatzgebiete, wo dies sinnvoll ist, aber diese sind seltener als man zuerst denkt. Klassisches Beispiel wie man Vererbung nicht nutzen sollte: Code-Wiederverwendung über Vererbung statt über Delegation.
Der bessere Teil kommt, wenn man Objektbäume zusammenstöpselt, so dass einzelne Teilalgorithmen (Klassen) austauschbar sind und sie zusammengenommen die Logik ergeben, die du haben willst. Der Vorteil liegt ganz klar in der einfachen Testbarkeit von kleinen Klassen und durch die Klassenzusammenstellung kann man relativ bequem (entweder zur Compile-Time, etwa beim Testen oder zur Laufzeit durch eine andere Konfiguration von Factories) Code austauschen - etwas, was z.B. bei Vererbung nicht funktioniert.
Viele Grüße, Matti