Forum: Algorithmen, Datenstrukturen und Klassendesign
by bcvs,
6. Feb 2019
Um die Verwirrung komplett zu machen, habe ich das Ganze mal mit der nicht-generischen TObjectList getestet:
TMyObjectList = class(TObjectList)
private
...
public
constructor Create;
destructor Destroy; override;
end;
Forum: Algorithmen, Datenstrukturen und Klassendesign
by bcvs,
6. Feb 2019
Das ist aber trotzdem etwas verwirrend, denn
inherited create; (ohne Parameter) ruft ja den richtigen Constructor auf, nur inherited; (ohne create) nicht.
Liegt es vielleicht daran, dass das
TObjectlist<TMyObject>.Create(OwnsObjects: Boolean = true);
schon einen Parameter hat, man den aber meistens weglässt, weil er per Default true ist?
Forum: Algorithmen, Datenstrukturen und Klassendesign
by bcvs,
5. Feb 2019
Das kompiliert erst garnicht:
constructor TMyObjectList.Create(AOwnsObjects: Boolean);
begin
inherited; // <- Inkompatible Typen
end;
egal ob ich Create(AOwnsObjects: Boolean) oder Create(AOwnsObjects: Boolean = True) schreibe
Forum: Algorithmen, Datenstrukturen und Klassendesign
by bcvs,
5. Feb 2019
Hallo zusammen,
ich bin da auf eine Sache gestoßen und würde gerne wissen, warum das so ist:
Ich habe eine Klasse:
TMyObjectList = class(TObjectList<TMyObject>);
private
...
public