So, ich mal wieder
Habe mir eine Animation-Klasse geschrieben und bin gerade dabei das
class helper Konstrukt zu nutzen, da es sich hier echt wunderbar anbietet. Und zwar würde ich gerne zwei Methoden an alle Klassen "anhängen", sodass folgendes möglich ist:
BeliebigesObject.Animate(...);
An und für sich habe ich mir das so vorgestellt:
Delphi-Quellcode:
TObjectAnimator = class helper for TObject
public
procedure Animate();
end;
Nun kann es ja aber sein, dass es eine andere Methode gibt die schon so heißt, da Animate sehr allgemein klingt. Nun will ich vor das Animate aber nicht einen beliebigen String hinhängen, dass dieser sehr wahrscheinlich über eine ganze Anwendung hinweg einmalig ist, sondern ich hatte mir eher folgendes vorgestellt:
Delphi-Quellcode:
BeliebigesObject.Animator.Animate(...);
// oder
BeliebigesObject.Animator.Stop();
Wäre Animator eine Klasse, so liesen sich ja auch weiter Methoden ohne Probleme hinzufügen. Allerdings kann ich in Animate nicht einfach auf Self (also BeliebigesObject) zugreifen, außer ich übergebe das. Gibt es hier nicht ein Namespace-Konstrukt, welches mir das schöner lösen könnte? Über Klassen fange ich mir einfach zu viele unschöne Probleme ein
imho.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)