Un objeto inmutable no puede ser modificado después de ser construido — cada campo se establece una sola vez, y no hay métodos que muten el estado. Para "cambiarlo", creas un nuevo objeto.
Construyendo un tipo inmutable
{
cents;
String currency;
{
.cents = cents;
.currency = currency;
}
Money {
(.cents + other.cents, currency);
}
{ cents; }
}
