TObject/fi
From Lazarus wiki
Jump to navigationJump to search
│
English (en) │
suomi (fi) │
TObject
on kantaluokka kaikille luokille ( class
) ,
riippumatta siitä onko niin määritelty tai ei. Siinä on erittäin yleisiä metodeita, pääosin virtuaalisia (virtual
).
Peruste TObject
:lle on, että Object Pascalissa jokainen luokka on johdettu toisesta luokasta,
ja TObject
on poikkeus, joka päättää tämän ketjun.
Rakentaja constructor
TObject.Create()
,
on kaikkien muiden luokkien oletuksena perimä. Se voidaan piilottaa tekemällä toinen rakentaja, jolla on sama nimi johdetussa luokassa joko parametreilla tai ilman niitä.
Tämä on kätevä Singleton-mallin toteuttamisessa.
{ Määritelty tiedostossa objpash.inc }
constructor Create;
destructor Destroy; virtual;
class function newinstance : tobject; virtual;
procedure CleanupInstance;
procedure FreeInstance; virtual;
function SafeCallException(exceptobject : tobject; exceptaddr : codepointer) : HResult; virtual;
procedure DefaultHandler(var message);virtual;
procedure Free;
class function InitInstance(instance : pointer) : tobject;
class function ClassType : tclass;
class function ClassInfo : pointer;
class function ClassName : shortstring;
class function ClassNameIs(const name : string) : boolean;
class function ClassParent : tclass;
class function InstanceSize : SizeInt;
class function InheritsFrom(aclass : tclass) : boolean;
class function StringMessageTable : pstringmessagetable;
class function MethodAddress(const name : shortstring) : codepointer;
class function MethodName(address : codepointer) : shortstring;
function FieldAddress(const name : shortstring) : pointer;
procedure AfterConstruction;virtual;
procedure BeforeDestruction;virtual;
procedure DefaultHandlerStr(var message);virtual;
procedure Dispatch(var message);virtual;
procedure DispatchStr(var message);virtual;
function GetInterface(const iid : tguid; out obj) : boolean;
function GetInterface(const iidstr : shortstring;out obj) : boolean;
function GetInterfaceByStr(const iidstr : shortstring; out obj) : boolean;
function GetInterfaceWeak(const iid : tguid; out obj) : boolean;
class function GetInterfaceEntry(const iid : tguid) : pinterfaceentry;
class function GetInterfaceEntryByStr(const iidstr : shortstring) : pinterfaceentry;
class function GetInterfaceTable : pinterfacetable;
class function UnitName : ansistring;
function Equals(Obj: TObject) : boolean; virtual;
function GetHashCode: PtrInt; virtual;
function ToString: ansistring; virtual;