Ett oföränderligt objekt kan inte ändras efter att det har konstruerats — varje fält ställs in en gång och det finns inga metoder som muterar tillstånd. För att "ändra" det skapar du ett nytt objekt.
Bygga en oföränderlig typ
{
cents;
String currency;
{
.cents = cents;
.currency = currency;
}
Money {
(.cents + other.cents, currency);
}
{ cents; }
}
