Modificabilità 2
un tipo non modificabile può essere implementato utilizzando strutture modificabili
- arrays, vectors, tipi record, tipi astratti modificabili
// OVERVIEW: un Poly è un polinomio a
// cofficienti interi non modificabile
// esempio: c0 + c1*x + c2*x2 + ...
private int[] termini; // la rappresentazione
private int deg; // la rappresentazione
attenzione comunque agli effetti laterali “nascosti”
- un metodo può restituire la rappresentazione modificabile (esporre la rep)
- un tipo non modificabile può contenere un tipo modificabile
- che può essere restituito da un metodo (e poi modificato)