“doc” (Col. : Science Sup 17x24) — 2007/7/19 — 18:18 — page 277 — #287
i
i
i
i
i
i
i
i
6.2 Les classes comme abstractions complètes
277
comme des enregistrements. Un appel d’objet ressemble à un appel de procédure. Il
retourne quand la méthode a terminé son exécution.
statement : := class variable { classDesc }
{ meth methHead [ ´=´ variable ]
( inExpression | |inStatement ) end }
end
| lock [ expression then ] inStatement end
| |expression ’:=’ expression
| |expression ´,´ expression
| . . .
expression : := class ´$´ { classDesc }
{ meth methHead [ ´=´ variable ]
( inExpression | |inStatement ) end }
end
| lock [ expression then ] inExpression end
| |expression ’:=’ expression
| |expression ´,´ expression
| ´@´ expression
| self
| . . .
classDesc : := from { expression }+ | prop { expression }+
| attr { attrInit }+
attrInit
: := ( [ ´ !´ ] variable | |atom | unit | true | false )
[ ’:’ expression ]
methHead : := ( [ ´ !´ ] variable | |atom | unit | true | false )
[ ´(´ { methArg } [ ´...´ ] ´)´ ]
[ ´=´ variable ]
methArg : := [ feature ’:’ ] ( variable | ´_´ | ´$´ )
[ ´<=´ expression ]
Tableau 6.1 La syntaxe des classes.
6.2.4 Les membres des classes
Une classe définit les parties constitutives de chacun de ses objets. Dans la terminologie
orientée objet, ces parties s’appellent les membres. Il y a trois sortes de membres :
– Les attributs (déclarés avec le mot clé « attr »). Un attribut est une cellule qui
contient une partie de l’état de l’instance. Dans la terminologie orientée objet,
un attribut s’appelle souvent une variable d’instance. L’attribut peut contenir
© Dunod – La photocopie non autorisée est un délit
Précédent

- 292/370

Suivant