Il tipo astratto Pila rappresenta sequenze di elementi di una tipo
prefissato T che vengono gestite con la politica LIFO (dall'inglese
``last in first out''), ossia l'ultimo elemento entrato è il primo ad uscire.
- TipoAstratto Pila(T)
-
- Sorte
-
- Pila
- : dominio di interesse del tipo
- T
- : dominio degli elementi delle pile
- Funzioni
-
- pilaVuota()
Pila
-
pre: nessuna
post: RESULT è la pila vuota
- estVuota(Pila p)
Boolean
-
pre: nessuna
post: RESULT è true se p è il valore
corrispondente alla pila vuota, false altrimenti
- push(Pila p, T e)
Pila
-
pre: nessuna
post: RESULT è la pila ottenuta dalla pila
p inserendo l'elemento e, che ne diventa l'elemento
affiorante
- pop(Pila p)
Pila
-
pre: p non è la pila vuota
post: RESULT è la pila ottenuta dalla pila
p eliminando l'elemento affiorante
- top(Pila p)
T
-
pre: p non è la pila vuota
post: RESULT è l'elemento affiorante della
pila
p
- FineTipoAstratto
-
Si noti che Pila è un tipo astrazione di valori collezione. Quindi
occorre effettuare l'overriding equals.
Nel caso della realizzazione funzionale non è necessario implementare clone.
Infatti, gli oggetti sono immutibili.