3 type Coordonnee
is range -100 .. 100;
4 type Instance
is abstract tagged private;
5 subtype Class
is Instance
'Class;
6 procedure Positionne
(Objet
: in out Instance
; X
, Y
: Coordonnee
);
7 function RetourneX
(Objet
: in Instance
) return Coordonnee
;
8 function RetourneY
(Objet
: in Instance
) return Coordonnee
;
9 procedure Allume
(Objet
: in Instance
) is abstract;
10 procedure Eteins
(Objet
: in Instance
) is abstract;
11 procedure Affiche
(Objet
: in Class
; EstVisible
: Boolean);
12 procedure Deplace
(Objet
: in out Class
; DX
, DY
: Coordonnee
);
14 type Instance
is abstract tagged record
15 X
, Y
: Coordonnee
:= 0;