*"*
>
> *[...] se mi consenti una considerazione.... public final nei campi va
> bene fino ad un certo punto,*


> *con oggetti mutabili credo che si lasci la porta aperta a disastri*
*Scusa, c'e' uno "static" di troppo. Sono public final e, pertanto, non
mutabili. L'unico modo per "caricarli" e' con il costruttore*


*Ciao,*

*    Bruno"*


La sostanza non cambia: se uno dei field esposto come public final è
mutabile (es. java.util.Date o una qualsiasi Collection) allora la classe
che crei non è immutabile ed è possibile che un client che la usa possa
invalidare gli invarianti che sono stati definiti; molto meglio proteggere
l'informazione a mio avviso (se vuoi ti faccio un esempio).

Siamo andati un po' OT comunque... :-)

Ho visto le mappe che ha indicato Federico e non fanno al caso mio:
dall'esempio che ho visto su GitHub mi sembra che si perdano tutti i
benefici di avere un compilatore e un linguaggio tipizzato solo per evitare
di scrivere setter e getter; ci sono altri modi IMHO.

Ciao,
Ramon

Reply via email to