“doc” (Col. : Science Sup 17x24) — 2007/7/19 — 18:18 — page 278 — #288
i
i
i
i
i
i
i
i
278
6
• La programmation orientée objet
toute entité du langage. L’attribut est visible seulement dans la définition de la
classe et dans toutes les classes qui héritent de cette classe. Chaque instance
a un ensemble distinct d’attributs. L’instance peut modifier l’attribut avec les
opérations suivantes :
• Une instruction d’affectation : expr 1 :=expr 2 . Le résultat de l’évaluation
de expr 2 est affecté à l’attribut dont le nom est obtenu par l’évaluation de
expr 1 .
• Une opération d’accès : @expr. Le résultat est le contenu de l’attribut dont
le nom est obtenu par l’évaluation de expr. L’opération d’accès peut être
utilisée dans toute expression qui est lexiquement à l’intérieur de la définition
de la classe. En particulier, elle peut être utilisée à l’intérieur des procédures
qui sont définies dans la classe.
• Une opération d’échange. Si l’affectation expr 1 :=expr 2 est utilisée comme
une expression, elle aura l’effet d’un échange. Par exemple, considérez l’instruction expr 3 =expr 1 :=expr 2 . Les trois expressions sont évaluées d’abord.
Ensuite, expr 3 est liée avec le contenu de l’attribut expr 1 et le nouveau
contenu de l’attribut est expr 2 . Cette opération est atomique.
– Les méthodes (déclarées avec le mot clé « meth »). Une méthode est semblable
à une procédure qui est appelée dans le contexte d’un objet et qui peut accéder
aux attributs de l’objet. La méthode a un en-tête et un corps. L’en-tête a une
étiquette, qui doit être un atome ou un nom, et un ensemble d’arguments. (On
appelle parfois l’en-tête la méthode ou le nom de la méthode.) Les arguments
doivent être des variables distinctes, sinon il y a une erreur de syntaxe. Pour
augmenter l’expressivité, un en-tête peut être une forme et un message peut être
un enregistrement.
– Les propriétés (déclarées avec le mot clé « prop »). Une propriété modifie le
comportement de la classe ou de l’objet. Par exemple, avec la propriété final,
la classe est une classe finale, qui ne peut pas être étendue avec l’héritage. C’est
une bonne habitude de donner la propriété final à chaque classe sauf si elle
est spécifiquement conçue pour l’héritage.
Les attributs et les étiquettes des méthodes sont des littéraux. S’ils sont définis avec
une syntaxe d’atome, ils sont des atomes. S’ils sont définis avec une syntaxe d’identificateur (par exemple, la première lettre est une majuscule), alors le système créera de
nouveaux noms pour eux. La portée des identificateurs est la définition de la classe.
L’utilisation de noms donne un contrôle fin sur la sécurité de l’objet.
En plus de ces trois sortes de membres, la section 6.3 montre comment une classe
peut hériter des membres d’autres classes.
i
i
i
i
i
i
i
i
278
6
• La programmation orientée objet
toute entité du langage. L’attribut est visible seulement dans la définition de la
classe et dans toutes les classes qui héritent de cette classe. Chaque instance
a un ensemble distinct d’attributs. L’instance peut modifier l’attribut avec les
opérations suivantes :
• Une instruction d’affectation : expr 1 :=expr 2 . Le résultat de l’évaluation
de expr 2 est affecté à l’attribut dont le nom est obtenu par l’évaluation de
expr 1 .
• Une opération d’accès : @expr. Le résultat est le contenu de l’attribut dont
le nom est obtenu par l’évaluation de expr. L’opération d’accès peut être
utilisée dans toute expression qui est lexiquement à l’intérieur de la définition
de la classe. En particulier, elle peut être utilisée à l’intérieur des procédures
qui sont définies dans la classe.
• Une opération d’échange. Si l’affectation expr 1 :=expr 2 est utilisée comme
une expression, elle aura l’effet d’un échange. Par exemple, considérez l’instruction expr 3 =expr 1 :=expr 2 . Les trois expressions sont évaluées d’abord.
Ensuite, expr 3 est liée avec le contenu de l’attribut expr 1 et le nouveau
contenu de l’attribut est expr 2 . Cette opération est atomique.
– Les méthodes (déclarées avec le mot clé « meth »). Une méthode est semblable
à une procédure qui est appelée dans le contexte d’un objet et qui peut accéder
aux attributs de l’objet. La méthode a un en-tête et un corps. L’en-tête a une
étiquette, qui doit être un atome ou un nom, et un ensemble d’arguments. (On
appelle parfois l’en-tête la méthode ou le nom de la méthode.) Les arguments
doivent être des variables distinctes, sinon il y a une erreur de syntaxe. Pour
augmenter l’expressivité, un en-tête peut être une forme et un message peut être
un enregistrement.
– Les propriétés (déclarées avec le mot clé « prop »). Une propriété modifie le
comportement de la classe ou de l’objet. Par exemple, avec la propriété final,
la classe est une classe finale, qui ne peut pas être étendue avec l’héritage. C’est
une bonne habitude de donner la propriété final à chaque classe sauf si elle
est spécifiquement conçue pour l’héritage.
Les attributs et les étiquettes des méthodes sont des littéraux. S’ils sont définis avec
une syntaxe d’atome, ils sont des atomes. S’ils sont définis avec une syntaxe d’identificateur (par exemple, la première lettre est une majuscule), alors le système créera de
nouveaux noms pour eux. La portée des identificateurs est la définition de la classe.
L’utilisation de noms donne un contrôle fin sur la sécurité de l’objet.
En plus de ces trois sortes de membres, la section 6.3 montre comment une classe
peut hériter des membres d’autres classes.
