Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#7

Re: Von TObjectList<T> erben?

  Alt 17. Feb 2010, 09:04
Zitat von Khabarakh:
PS: Bei Listen ist Vererbung unüblich, eine Komposition ist oft einfacher.
In diesem Fall handelt es sich aber nicht um klassische Vererbung, sondern um die Instanziierung(Typisierung?) eines generischen Typs.

Es ist z.B. auch nicht möglich, eine Variable eines generischen Typs zu deklarieren (außer als Feld in einer generische Klasse):

Delphi-Quellcode:
var
  List: TObjectList<T>;
läßt sich nicht compilieren.

Damit scheidet eine Komposition schon mal aus.

Man muss sich Generics einfach als Klassen-Vorlagen vorstellen. Erst durch die Bestimmung des oder der variablen Typen wird daraus eine verwendbare herkömmliche Klasse. Mit

Delphi-Quellcode:
type
  TNonFoodList = class(TObjectList<TNonFoodList>);
wird implizit eine Klassendeklaration erstellt, bei der alle "T" in TObjectList<T> durch TNonFood ersetzt werden.
Uwe Raabe
  Mit Zitat antworten Zitat