| 12345678910111213141516171819202122232425262728293031 |
- MODULE Showcase5;
- // Class-syntax frontier tour (docs/OOP.txt): fields, '=' consts,
- // VIRTUAL, methods with/without formals/results, single + multiple
- // inheritance, impl block with nested procedure in a method body,
- // init bodies. 7 errors, all "not supported yet".
- CONST Limit = 100;
- TYPE
- CLASS Shape;
- x, y : INTEGER;
- Max = Limit;
- VIRTUAL PROCEDURE Draw;
- PROCEDURE Move(dx, dy : INTEGER);
- PROCEDURE Area() : INTEGER;
- END Shape;
- CLASS Circle (Shape);
- r : INTEGER;
- PROCEDURE SetR(v : INTEGER);
- END Circle;
- CLASS Multi (Shape, Circle);
- END Multi;
- CLASS IMPLEMENTATION Circle;
- PROCEDURE SetR(v : INTEGER);
- PROCEDURE Helper() : INTEGER;
- BEGIN
- END Helper;
- BEGIN
- END SetR;
- BEGIN
- END Circle;
- BEGIN
- END Showcase5.
|