AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

"Namespace" innerhalb einer Klasse

Ein Thema von s.h.a.r.k · begonnen am 3. Dez 2010 · letzter Beitrag vom 4. Dez 2010
 
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, 17: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
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz