C'e' un'altro termine che si usa per quello a cui stai pensando:
""persistente""
Un oggetto ""persistente"" e' un oggetto che ""mantiene"" il suo stato tra ESECUZIONI DIVERSE dello stesso programma.
Cioe':
1) il programma parte, ""crea"" un oggetto il quale ha un certo valore
2) il programma termina
3) il programma RIparte, ""crea"" lo stesso oggetto di prima, il quale ha LO STESSO valore di prima.
4) cambi il valore dell'oggetto
5) questo, in qualche modo, viene reso ""persistente""
6) il programma termina
7) il programma RIparte, ""crea"" lo stesso oggetto di prima, il quale ha LO STESSO valore dell'ultima volta che e' stato cambiato.
8 ) ...
Ho scritto ""crea"" e non semplicemente 'crea' perche' non e' una semplice creazione, ma e' composta da varie parti:
1) la ""creazione" dell'oggetto in memoria
2) la ""lettura"" del suo ""stato"" da uno ""storage persistente"", che puo' essere un file o un database (che e' IMPLEMENTATO USANDO file!!!!)
Nota: NON PENSARE a questo caso
1) il programma parte, ""crea"" l'oggetto persistente che e' basato su un file.
2) QUALCUN ALTRO MODIFICA il contenuto del file
3) COME FA, il programma, a sapere che il file e' stato cambiato e che l'oggetto persistente non ha il valore corretto
Per questo ci sono i DATABASE, il concetto di ""TRANSAZIONE"", e tutta una serie di altri concetti abbastanza complicati.
In altri termini, per fare le cose per bene non bastano 4 righe di codice messe in croce!