Thema: Delphi Singletons vererben

Einzelnen Beitrag anzeigen

sir-archimedes

Registriert seit: 2. Jan 2006
Ort: Münster
167 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Singletons vererben

  Alt 28. Jan 2006, 12:25
Zitat von tommie-lie:
Entwickelst du das Projekt mit Delphi2006? Dann könnten dir zumindest die Code Templates der IDE ein wenig Copy&Paste-Arbeit ersparen (und das Code Template wäre wiederverwendbar und du müsstest es nicht irgendwo aus deinen alten Units rauskopieren, wenn du mal wieder mehrere Singletons brauchst).
Stimmt - wäre eine Idee. Aber irgendwie bin ich mit den Code-Templates noch nicht wirklich gut klargekommen. Habe mal 10 Minuten versucht mir ein kleines Template zu basteln, aber das hat nicht sofort probiert und weiter wichtig war es mir auch nicht.

Zitat von tommie-lie:
Beim überschreiben von virtuellen Methoden müssen die erweiterten Signaturen der Funktionen übereinstimmen. Dazu gehört auch der Rückgabewert und der Name (ergo die gesamte Deklaration muss identisch sein).
Was mir spontan einfällt:
Delphi-Quellcode:
TAncestorSingleton = class
protected
  class function _Instance(): TAncestorSingleton; virtual; abstract;
end;

TDerivedSingleton = class(TAncestorSingleton)
public
  class function Instance(): TDerivedSingleton;
protected
  class function _Instance(): TAncestorSingleton; virtual; override; // oder war das in Delphi ohne "virtual" bei "override"?
end;
1. es ist ohne virtual bei override
2. Das ist wirklich eine gute Idee. Ich kann ja da, wo ich die Oberklasse verwende, dann mit _Instance arbeiten und da wo ich die Unterklasse auch persönlich kenne mit Instance. Das hatte ich völlig übersehen - hatte in die Richtung gedacht, aber war nicht drauf gekommen . Danke
  Mit Zitat antworten Zitat