Ese (del Aprile 2003) Testo
Scaricare
40.5 Kb.
29.12.2017
Dimensione del file
40.5 Kb.
Navigando in questa pagina:
Definire una procedura stand-alone che, dato uno Stack contenente interi, lo modifichi, rimpiazzando gli ultimi due elementi inseriti con la loro somma.
{ \\ EFFECTS: se this e’ vuoto sollevaEmptyException, altrimenti ritorna l’ultimo elemento inserito
\\ MODIFIES: this \\ EFFECTS: se this non e’ vuoto rimuove l’ultimo elemento inserito, altrimenti
\\ inserisce o nella pila
Ese 3 (del 3 Aprile 2003)
Testo
Progettare la specifica e l’implementazione del tipo di dato
astratto modificabile Stack
, supponendo che gli elementi siano di tipo Object e che le operazioni primitive in aggiunta al costruttore siano: push, pop, top e isempty
Definire
una procedura stand-alone che
, dato uno Stack contenente interi,
lo modifichi
, rimpiazzando gli ultimi due elementi inseriti con la loro somma.
Specifica
public class Stack {
\\ OVERVIEW: uno Stack e’ una collezione di oggetti (Object) organizzati per ordine di inserimento con una politica LIFO. E’ modificabile
public Stack () {
\\ EFFECTS:
costruisce uno Stack Vuoto
}
public boolean isEmpty() {
\\ EFFECTS: se this e’ vuoto restituisce true,
altrimenti false
}
public Object top() throws EmptyException
{
\\ EFFECTS: se this e’
vuoto sollevaEmptyException
, altrimenti ritorna l’ultimo elemento inserito
}
Modificatori
public void pop() throws EmptyException {
\\ MODIFIES: this
\\ EFFECTS: se this non e’ vuoto rimuove l’ultimo
elemento inserito
,
altrimenti
\\
solleva EmptyException
}
public void push (Object o) throws NullPointerException {
\\ MODIFIES: this
\\ EFFECTS: se o e’ null solleva NullPointerException, altrimenti
\\ inserisce o nella pila
}
elenco:
~maggiolo
->
lucidi
lucidi -> Si consideri la classe astratta che specifica IL tipo di dato astratto Tabella
lucidi -> Le gerarchie di tipi: implementazioni multiple e principio di sostituzione Come si può utilizzare una gerarchia di tipi
lucidi -> Si consideri la seguente classe astratta che specifica IL tipo di dato astratto “Lista circolare polimorfa omogenea”
lucidi -> Implementazione di un linguaggio ad alto livello
lucidi -> Astrazione sul controllo: gli iteratori
lucidi -> Public abstract class Table {
lucidi -> Programmazione = decomposizione basata su astrazioni (con riferimento a Java) Decomposizione in “moduli”
lucidi -> Specifiche Scopo e significato delle specifiche (1)
lucidi -> Le gerarchie di tipi Supertipi e sottotipi
Condividi con i tuoi amici:
©astratto.info 2019
invia messaggio
Pagina principale