Verso l’invariante di rappresentazione
non tutti gli stati concreti “rappresentano” correttamente uno stato astratto
// OVERVIEW: un IntSet è un insieme modificabile
// di interi di dimensione qualunque
// un tipico IntSet è {x1, …, xn}
private Vector els; // la rappresentazione
// la funzione di astrazione
// a(c) = { c.els.get(i).intValue() |
il vettore els potrebbe contenere più occorrenze dello stesso elemento
- questo sarebbe coerente con la funzione di astrazione
- ma non rispecchierebbe la nostra scelta di progetto
- riflessa nell’implementazione dei metodi