Cosa succede se il supertipo fa vedere la rappresentazione?
l’efficienza di remove potrebbe essere migliorata
- questa versione richiede di visitare els due volte
- per rimuovere l’elemento (attraverso la remove della superclasse)
- per aggiornare il nuovo mass (utilizzando l’iteratore)
facendo vedere alla sottoclasse la rappresentazione della superclasse
- dichiarando els protected nell’implementazione di IntSet
in questo caso, l’invariante di rappresentazione di MaxIntSet deve includere quello di IntSet
- perché l’implementazione di MaxIntSet potrebbe violarlo
// IMaxIntSet (c) = IIntSet (c) && c.size() > 0 ==>
// (c.mass appartiene a aIntSet(c) &&
// per tutti gli x in aIntSet(c), x <= c. mass)