Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#2

AW: Generische Klassenreferenztypen

  Alt 31. Mai 2018, 12:01
Warum nicht so myObj := TMyObject<IMySubInterface>.Create(TMySubInterfaceImpl.Create); ?

TClass braucht man nur, wenn man "verschiedene" Klassentypen in einer Variable speichern und dann Diese später zum Erstellen/Vergleichen verwenden will.


Ich hab sowas bisher verschachtelt, also TMyObject<IIrgendwas>.TMyClass statt TMyObjectClass<IIrgendwas> , denn so gibt es die wenigsten Inkompatibilitäten und alles was zusammen gehört ist auch zusammen.
Delphi-Quellcode:
TMyObject<I: IMyInterface> = class(TBaseClass)
public type
  TMyClass = class of TMyObject<I: IMyInterface>;
public
  constructor Create(const Intf: I); reintroduce;
end;
Auch andere Typen, welche z.B. nur in dieser Klasse existieren und wo es in der Regel extern keine Variablen mit gibt, kommen auch mit da rein.
(private oder public dann halt je nach dem ob diese Typen nur in Private/Interface oder auch in Public-Deklarationen verwendet werden)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (31. Mai 2018 um 12:07 Uhr)
  Mit Zitat antworten Zitat