Leggendo inutili dispense di ingegneria del software, mi sono imbattuto in una questione poco chiara riguardo la ridefinizione di equals.
Infatti si dice che:
1. due oggetti immutabili sono equals se e solo se hanno lo stesso stato astratto.
-->Quindi dovrei ridefinire la nativa equals e controllare "personalmente" lo stato dell'oggetto.
Quello che non capisco è la motivazione:
MOTIVO: "due oggetti immutabili non possono essere distinti tramite
mutazioni; inoltre gli observer della classe permettono solo di distinguere
gli oggetti se hanno un diverso stato astratto (altrimenti le osservazioni non
danno differenza)"
2. due oggetti mutabili sono equals se e solo se sono lo stesso oggetto...
allora non ci deve essere nessuna ridefinizione.
MOTIVOerche' i due oggetti sono attraverso mutazioni...
Le due motivazioni non mi sono chiare...
Sapreste darmi una mano?