@shmia: Genau das wollte ich ja hier vermeiden
Finde es etwas direkter, wenn ich
Object.MachWas()
aufrufe, als
Controller.MachWasMit(Object)
. Mir ist schon klar, dass das Geschmackssache ist, aber alles muss gehen
Deine gesuchte Lösung geht in Richtung "Vererbung"; wobei du nicht wirklich ableiten möchtest, sondern mit einem Class-Helper Funktionalität hinzufügen möchtest.
Eigentlich braucht du sogar eine Mehrfachvererbung, da du nicht nur die Methode Animate haben willst,
sondern auch noch ein (privates) Feld in dem der Animator steckt.
Ein Class-Helper ist dazu aber grundsätzlich nicht in der Lage, weil sich dadurch das Objekt um 4 Bytes verlängern müsste.
Delphi müsste schon das Konzept von
partiellen Klassen beherschen um das umzusetzen, was Dir vorschwebt.
Ich kann dir nur sagen, dass du mit Vererbung hier nicht weiterkommst.
Richtig wäre "Komposition"; also so wie ich das oben gezeigt habe.
Es ist auch weniger eine Geschmacksfrage, ob man lieber Vererbung oder eher Komposition verwendet, sondern die Komposition hat handfeste Vorteile:
http://www.cleancodedeveloper.de/Rot...ritance_FCoI_3