blob: e68d416227b97eaf55b235166dbfa38438cde894 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
CLASS Box
Value : INTEGER
PUBLIC OVERLOAD PROCEDURE NEW()
Value <- 1
ENDPROCEDURE
PUBLIC OVERLOAD PROCEDURE NEW(x : INTEGER)
Value <- x
ENDPROCEDURE
PUBLIC OVERLOAD PROCEDURE NEW(x : STRING)
Value <- LENGTH(x)
ENDPROCEDURE
OVERLOAD FUNCTION Get() RETURNS INTEGER
RETURN Value
ENDFUNCTION
OVERLOAD FUNCTION Get(x : INTEGER) RETURNS INTEGER
RETURN Value + x
ENDFUNCTION
OVERLOAD FUNCTION Get(x : STRING) RETURNS STRING
RETURN x & "!"
ENDFUNCTION
OVERLOAD PROCEDURE Set(x : INTEGER)
Value <- x
ENDPROCEDURE
OVERLOAD PROCEDURE Set(x : STRING)
Value <- LENGTH(x)
ENDPROCEDURE
ENDCLASS
TYPE Holder
DECLARE Item : Box
ENDTYPE
DECLARE a : Box
DECLARE b : Box(7)
DECLARE c : Box("four")
DECLARE h : Holder
DECLARE items : ARRAY[1:2] OF Box
OUTPUT a.Get(), b.Get(), c.Get()
OUTPUT h.Item.Get(), items[2].Get()
OUTPUT b.Get(2)
OUTPUT b.Get("ok")
CALL a.Set("abc")
OUTPUT a.Get()
a <- NEW Box(8)
OUTPUT a.Get()
CALL a.NEW()
OUTPUT a.Get()
DELETE a
|