Einzelnen Beitrag anzeigen

Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#1

"Namespace" innerhalb einer Klasse

  Alt 3. Dez 2010, 16:02
Delphi-Version: 2010
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)
  Mit Zitat antworten Zitat