next up previous contents
suivant: pile en Java monter: Exemple: une pile précédent: Exemple: une pile   Table des matières

pile abstraite

Un des buts de la programmation objet est de réaliser des types de données abstraits.

Considérons le type abstrait de donnée pile:



transparent
Une pile


NOM
    pile[X] 
FONCTIONS
    vide : pile[X] -> Boolean
    nouvelle : -> pile[X]
    empiler : X x pile[X] -> pile[X]
    dépiler : pile[X] -> X x pile[X]
PRECONDITIONS
    dépiler(s: pile[X]) <=> (not vide(s))
    sommet(s: pile[X]) <=> (not vide(s))
AXIOMES
    forall x in X, s in pile[X]
            vide(nouvelle())
            not vide(empiler(x,s))
            dépiler(empiler(x,s))=(x,s)


Il faudrait vérifier que ce type abstrait défini bien ce que l'on entend par une pile. De même il faudrait vérifier que ces déclarations sont bien ``minimales'' et, dans quelle mesure on pourrait en donner d'autres équivalentes.

Ici, le type pile est:

Plusieurs implémentations sont possibles:

Quelques remarques:
next up previous contents
suivant: pile en Java monter: Exemple: une pile précédent: Exemple: une pile   Table des matières
Hugues Fauconnier 2002-01-11