Quote Originariamente inviata da newutente Visualizza il messaggio
Quindi se non ho capito male alla variabile ogg viene passato solo il valore dell'oggetto creato di tipo PuntoTridimensionale ma l'area di puntamento rimane quella di Punto. Volendo fare un esempio stupido è come se ad una variabile di tipo int che in un primo momento vale 10 assegniamo il valore 20, a quel punto il valore sarà cambiato ma il tipo sarà sempre int. E' giusto?
'ogg' è (detto semplicemente) uno spazio di memoria che fa da "contenitore" per un valore. È certamente un valore più speciale, non è un banale int, long o double .... è un "reference". Ma un valore lo è comunque.

A ogg viene assegnato un valore che è il riferimento al nuovo oggetto PuntoTridimensionale. Se successivamente assegni a ogg qualunque altro riferimento ad un oggetto che "è-un" Punto, semplicemente cambi il valore che è in ogg. Senza che questo vada ad influire minimamente sull'oggetto che era referenziato prima da ogg (a parte il concetto generale che se quello che era referenziato prima non è più raggiungibile in altri modi, andrà in pasto al garbage collector appena possibile).