Darf ich da nochmal nachhaken?
einkaufsabteilung.bestelle(fuhrpark.ermittleBedarf());
"Bestelle" tut irgend etwas mit den Einträgen einer Liste, die "ErmittleBedarf" bereit stellt (5 Liter Diesel, 2 kg Hafer).
So weit richtig?
Sofern es ein Ökoauto als Ableitung von Auto gäbe
(EDIT: "welches mit Hafer fährt"), könnte ich das mit Objekten genau so regeln.
Der Vorteil von Interfaces kommt in´s Spiel, wenn der Hafer-Verbraucher nicht von Auto abgeleitet ist.
Dann müsste ich bei der Arbeit mit unterschiedlichen Objekten (verschiedenen Basisklassen) in ErmittleBedarf alle Einträge des Fuhrparks casten, um die gleichen Ergebnisse zu ermitteln.
Das ist etwas umständlich und nicht sehr elegant und der Fuhrpark muss alle potentiellen Klassen genau kennen (die entsprechenden Units einbinden).
Insofern ist es schon anzustreben, Interfaces zu verwenden - das sehe ich ein.
Aber Deine zusätzlichen Hinweise über die flexible Anwendungsmöglichkeit kann ich (noch) nicht nachvollziehen.
Mit normalen Objekten ginge das doch auch - wenn auch mit mehr Aufwand.
Sehe ich das richtig? Oder was sehe ich falsch?