PDA

Visualizza la versione completa : variabili


dobrio
23-04-2003, 22:31
Ragazzi se creo una variabile pubblica nella mia classe
public string valore="CIAO";
Creo una variabile di tipo nuomeclasse a cui passo un riferimento dell'estinza di Classe:
Pippo nuovoPippo=new Pippo();
lo faccio puntare alla stringa valore;
nuovoPippo.valore="BELLO"
la stringa valore rimarrà invariata o cambia solamente quella che fa riferimento alla nuova istanza?
...ma essendo riferimento ..dovrebbe cambiare...
perchè se successivamente creo un nuovo oggetto e lo faccio puntare alla srtinga valore
questa mi stampa ciao anke se prima l'ho modificata?

Zero-2
23-04-2003, 23:07
Se scrivi
nuovoPippo.valore="BELLO" la stringa valore viene cambiata , in quanto dai un nuovo riferimento alla variabile valore.



perchè se successivamente creo un nuovo oggetto e lo faccio puntare alla srtinga valore
questa mi stampa ciao anke se prima l'ho modificata?


Perchè ogni oggetto ha le sue variabili che non dipendono da altri oggetti simili .

dobrio
23-04-2003, 23:19
quindi ...la mia variabile nella classe di base rimane sempre
="CIAO".
giusto?
........

Zero-2
24-04-2003, 11:09
quindi ...la mia variabile nella classe di base rimane sempre
="CIAO".
giusto?
........


Se crei un nuovo oggetto di quella classe la variabile avrà inzialmente quel valore , se in seguito fai un nuovo asseganmento come quello da te indicato , la variabile dell'oggetto ,al quale fai rifermento , cambierà valore.


Pippo uno=new Pippo();
Pippo due =new Pippo();
scrivi(uno);
scrivi(due);
uno.valore="BELLO";
scrivi(uno);
scrivi(due);


L'output sarà :

Ciao
Ciao
Bello
Ciao

Loading