procedure X function X constructor X destructor X interface implementation initialization finalization procedurex proceduree X functio interfaces xprocedure procedure X procedure X Procedure X PROCEDURE X procedure X procedure(X) procedure; unit Foo; program Foo; type var begin end; end. uses SysUtils; class procedure class function X class constructor X class destructor X class operator X class var classprocedure class procedure class procedure class procedure Class procedure class Procedure class procedurex class procedure class procedure class class procedure xclass procedure TFoo = class TFoo = class(TObject) TFoo = class; TFoo = class(TObject) TFoo = class TFoo=class TFoo =class TFoo= class TFoo = class TFoo = class x = class TFoo = Class TFoo = CLASS TFoo = record TFoo = packed record TFoo = object TFoo = interface = class =class x = classes x = recordx x = record; x == class x := class x : class x = a class x = record x = class x = class x = class x = class a = b; c = class é = class { procedure X } // procedure X function classes tfoo. begin =object procedure (TObject) procedureinitialization object FUNCTION classeS % objEcT := recoRD enD; implementation x class function class procedure class constructor procedure initialization claen^d of interface x class constructoruses of functiFUNCTIONon class uses class constructor } ofprogram object packedclass constructor TFoO CLaSS funCtIon CLaSS FUNcTioN TFOO claSSes ; finalization interface objectproc DeStRu ctoR unit object == class function var records x classes X INTERFACEINITIALIZATION OF (A: INTEGER) FUNCTION RECORD de x ; class unit implementation { ; records class packed record procedure Class class TFoo.Bar := uses class function class function finalization end ; Classobject procedure useimplementation destructor funcio :== { c^lass functionproc interface x uses program program record record uni#t { classes : proc record { ,; ProcclAsS fuNctionedURe class function (A: Integer) } records := beginProcedure class constructor record (TObject) destructor initialization var procedure IMPLEMENYPECLASS FUNCTION OBJECTCONSTRUCTOR class function Class class finaliz!ation{ CLASS " // class constructor objectTFoo proc record finalization interface unit cla ss procedure > = procedure record destructor procFUNCTION FUNCTIONclass class records end class procedure TFoo.Bar begin begin class func tion class ~ obje destructor = class procedure objec t TFoo } class TFoo classprocedure begin classesclass va function of = TFoo.Bar begin functio class (TObject) Procedure ; class function type end class functionClas (A: Integer) recorddestructor typetype } initialization class class procedure class function function TFoo.Bar class procedure uses(TObject) type procedure procedure / procedure RECORD classes obje ct class constructor uses procedure recorssclasses proc uses funCTIo CLaSs FuNctIon eNd; End claSs TFoo FUNCTION(TObject) function class function class classrocion tyPE intErfACe :. implementation CLASSTYPE FUNCTION initia,l[ization procedure functio : implementation program class constructor packed oftype records PROC CONSTRUCTOR TFOO.BARPROCEDURE UNIT FUNCTION function destructor ; function cl asses(TObject) var FinalizaioN = (A: Integer) object {unit (T Procedure packed classes (TObject)program = unIT X == END; CLASS : FUNCTION TFOO.BAR i class Class = c functio : class Class initialization Cl FUNCTIONend; recordof program TFoo class { DESTRUCTOR CONSTRUCTOR UNIT PROGRAM PROGRAM recORD:= COnstructOR béegin} cLass FuncTion ProceDurE CLAss ==: CLasS iNterFaCe; class function classes TFoo.Barinitialization unit program class procedure function : procedure(TObject) program \ reco rds ; ProC (TObje prOgram ClaSs FuNction finalization ==RECORD var class destructor typec = class(lass procedure Class class RECORD DESTRUCTOR interface finalization clas s constructor class (TObject) : CLASS PROCEDURE ]UNIT OF CLASS $ PROCE DURE class of proc TFoo funct & interface functio OBJECT //RECORDS interface Classrecord class function finalization class var implementation unit class Procedure class(A: Integer) type class functiontype var program packed object destruct record class TFoo Procedure functio record finalization constructor FUNCTIONinitialization class of class procedure procedure class class RECORD TFoo.Bar Procedure begin begiünClass record Class procedure function nctiobjecto of unit (TObject) ; class constructor begin constructor of initialiation classes destructor// Uses prOc } (tObjEct) claSs fUNCtION InitIaLiZATion clAsS x functio records procedure class constructorclass function object uses finalizatordsclass record; program (TObject) TFoo.Bar ; x TFoo.Bar class construcion OBJECT PROCEDURE class class {== type functionclass Class fuNCtioN fInA` FUNCTION implementation constructor function Class object // class construct or function functio end; class Procede var BEgINUNiT tfOO // CLASS } OBJECTCONSTRUCTOR object recor of= class classbeginimplementation= procedure of x } classes of end Procedure== record of record implementationedclassesure |end; unit var proc packed TFoo.Bar CL ASS PROCEDURE unit class class function uses object var begin var : of function funCtion ClAsses Of ConstRUCtor RecorD dEstrUctOr CLaSsoBjEcT fuNcTio TFoo clAss consTrUcTor CLASS PROCEDURE destructo constructor class record class function PROCOBJECT TFOO END RECORD END VAR CLASS UNIT TYPETFOO.BAR object class proc end; end;procedure (TObject) RECORD class procedure FunCti|o claSS { record cLAss iNitializatIOn = classES REcord // End;= {class interface pRogram OBJeCt { PRoCEDuRE RecOrd rECORdS = cl ass implementation procedure Class class constructor ? procedure clasked of function unit class constructor class TFoo.Bar implementation destructor functionend } Procedure constructor TFoo.Bar object constructor class procedure imrecordplementation functio { class function RECORD unitpacked TFoo ; begin constructordestru class of == unit packed // initialization ; :=begin var uses unit uses record object procedurefinalization := procedurevar packed classes destructor FUNCTION USes ; tfOo recOrDsDestr class constructor == (TObject) } implementation object Class procedur=recorde program class function funclassesction TFoo.Bar end; end records class function class p rocedure be gin . VAR CLASS CLASS CONSTRU]CTOR{ CLASS FUNCTION (TOBJECT) finalization record (TObject) class function TFoo.Bar initialization unit type class var object { uses functio functio