langs a-z
This commit is contained in:
parent
db842d013d
commit
d066446780
11389 changed files with 98361 additions and 1020 deletions
35
Task/Classes/Object-Pascal/classes.object
Normal file
35
Task/Classes/Object-Pascal/classes.object
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
type
|
||||
MyClass = object
|
||||
variable: integer;
|
||||
constructor init;
|
||||
destructor done;
|
||||
procedure someMethod;
|
||||
end;
|
||||
|
||||
constructor MyClass.init;
|
||||
begin
|
||||
variable := 0;
|
||||
end;
|
||||
|
||||
procedure MyClass.someMethod;
|
||||
begin
|
||||
variable := 1;
|
||||
end;
|
||||
|
||||
var
|
||||
instance: MyClass; { as variable }
|
||||
pInstance: ^MyClass; { on free store }
|
||||
|
||||
begin
|
||||
{ create instances }
|
||||
instance.init;
|
||||
new(pInstance, init); { alternatively: pInstance := new(MyClass, init); }
|
||||
|
||||
{ call method }
|
||||
instance.someMethod;
|
||||
pInstance^.someMethod;
|
||||
|
||||
{ get rid of the objects }
|
||||
instance.done;
|
||||
dispose(pInstance, done);
|
||||
end;
|
||||
Loading…
Add table
Add a link
Reference in a new issue