![]() |
[OOP]: TClassList / TObjectList
|
Re: [OOP]: TClassList / TObjectList
[ ] Du erwartest tatsächlich eine Antwort auf diese Frage.
[X] Du willst Dich erstmal mit dem Unterschied zwischen Klassen und Objekten vertraut machen. :zwinker: Nee, mal im Ernst: Eine Klasse ist ja kein Objekt. Eine Classlist beinhaltet Klassen, eine ObjectList nunmal Objekte. |
Re: [OOP]: TClassList / TObjectList
Zitat:
Natürlich ist eine Klasse ein Objekt. Gruß, |
Re: [OOP]: TClassList / TObjectList
Zitat:
|
Re: [OOP]: TClassList / TObjectList
Zitat:
Gruß |
Re: [OOP]: TClassList / TObjectList
Dem widerspricht ja auch keiner. Nur du jast gesagt dass eine Klasse identisch mit einem Objekt ist.
Zitat:
![]() |
Re: [OOP]: TClassList / TObjectList
Bitte nicht [ot], ich kenne den Unterschied zwischen Klasse und Objekt.
Ich möchte eigentlich nur Beispiele wissen, wo man eine Instanz von TClassList oder eine von TObjectList verwendet. Eigentlich müsste man ja immer nur Objekte speichern, also Instanz von TObjectList, oder nicht? |
Re: [OOP]: TClassList / TObjectList
TClassList dürfte für Metaklassen geeignet sein, TObjectList für normale Objekte.
|
Re: [OOP]: TClassList / TObjectList
Zitat:
Delphi-Quellcode:
:stupid:
ClassList[i].create
|
Re: [OOP]: TClassList / TObjectList
Zitat:
Deswegen steht da ja auch:
Delphi-Quellcode:
, wobei es hier auf das 'class of' ankommt.
TClass = class of TObject;
Zur ClassList bzw. ObjectList:
Delphi-Quellcode:
Das hat zur Folge, das in der Liste Objekte nun genau ein Element vom Typ TMyClass ist, das über ein Element der Liste Klasse vom Typ TMyClassClass instanziert wurde.
TMyClass = Class(TObject)
end; TMyClassClass = class of TMyClass; ... var i: integer; Klassen: TClassList; Objekte: TObjectList; begin Klassen := TClassList.Create; i := Klassen.Add(TMyClassClass); Objekte := TObjectList.Create; Objekte.Add( Klassen[i].Create ); end; TClassList wird daher auch gerne für ClassFactories eingesetzt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:27 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