Sono nuovo nella programmazione orientata agli oggetti e un concetto che mi sta prendendo un po 'di tempo da cogliere è immutabilità. Penso che la lampadina sia esplosa ieri sera ma voglio verificare:
Quando mi imbatto in dichiarazioni che un oggetto immutabile non può essere cambiato, sono perplesso perché posso, ad esempio, fare quanto segue:
NSString *myName = @"Bob";
myName = @"Mike";
Lì, ho appena cambiato myName, di tipo immistrable NSString. Il mio problema è che la parola "oggetto" può riferirsi all'oggetto fisico in memoria o all'astrazione "myName". La prima definizione si applica al concetto di immutabilità.
Per quanto riguarda la variabile, una definizione più chiara (per me) di immutabilità è che il valore di un oggetto immutabile può essere modificato cambiando anche la sua posizione nella memoria, cioè il suo riferimento (anche conosciuto come il suo puntatore).
È corretto, o sono ancora perso nel bosco?