“doc” (Col. : Science Sup 17x24) — 2007/7/19 — 18:18 — page 227 — #237
i
i
i
i
i
i
i
i
5.3 Le modèle déclaratif avec état explicite
227
5.2.3 La programmation orientée objet
La programmation orientée objet est un ensemble de techniques pour maîtriser la
programmation avec état. Tout le chapitre 6 est consacré à ces techniques. La programmation orientée objet est basée sur une façon particulière de faire l’abstraction de
données qui s’appelle un objet. Les objets et les types abstraits (ADT) sont fondamentalement différents. Les ADT séparent les valeurs et leurs opérations. Les objets les
combine en une seule entité agrégée que l’on peut invoquer. Les différences entre ADT
et objets sont expliquées plus en détails dans la section 5.4. Les objets sont importants
parce qu’ils facilitent l’utilisation des techniques puissantes de polymorphisme et héritage. Le polymorphisme peut aussi être utilisé dans la programmation par composants.
Cela est expliqué dans la section 5.5. L’héritage est un nouveau concept qui ne fait pas
partie de la programmation par composants :
– L’héritage. Il est possible de construire une abstraction de données de façon
incrémentale, comme une extension ou une modification d’une autre abstraction
de données.
Les définitions incrémentales de composants s’appellent des classes et leurs instances
sont des objets.
5.3 LE MODÈLE DÉCLARATIF AVEC ÉTAT EXPLICITE
Une manière d’introduire l’état est d’avoir des composants concurrents qui communiquent avec d’autres composants, comme les objets à flots du chapitre 4. Dans ce
chapitre, nous faisons autrement. Nous ajoutons le concept d’état explicite au modèle
déclaratif. À la différence du chapitre 4, le modèle résultant est toujours séquentiel.
Nous l’appelons le modèle avec état.
Chaque instance de l’état explicite est une paire de deux entités du langage. La
première entité est l’identité de l’instance et la deuxième entité est le contenu actuel
de l’instance. Il y a une opération qui prend l’identité et qui renvoie le contenu actuel.
Cette opération définit une correspondance entre les identités de toutes les instances de
l’état et toutes les entités du langage. Curieusement, quand on modifie un état aucune
des deux entités du langage n’est modifiée. Il n’y a que la correspondance qui change.
5.3.1 Les cellules
Nous ajoutons l’état explicite comme un nouveau type de base au modèle de calcul.
Nous l’appelons cellule. Une cellule est une paire composée d’une constante, qui est
un nom, et d’une référence dans la mémoire à affectation unique. Comme les noms
sont infalsifiables, les cellules sont un exemple d’ADT sécurisé. L’ensemble de toutes
les cellules s’appelle la mémoire à affectation multiple. La figure 5.1 montre le
© Dunod – La photocopie non autorisée est un délit
Précédent

- 242/370

Suivant