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;