Quote Originariamente inviata da newutente Visualizza il messaggio
Un esempio del polimorfismo potrei averlo in questa riga di codice:
codice:
Punto ogg = new PuntoTridimensionale();
Piccola nota: se Punto rappresenta un punto 2D (quindi x,y) e PuntoTridimensionale lo estende aggiungendo la z .... allora la ereditarietà è sbagliata a priori concettualmente: un punto 3D NON è un caso "particolare" di punto 2D.

Quote Originariamente inviata da newutente Visualizza il messaggio
2) per risolvere il problema del puntamento una soluzione potrebbe essere questa?
codice:
Punto ogg = new Punto();
PuntoTridimensionale ogg2 = (PuntoTridimensionale) ogg;
Se PuntoTridimensionale estende Punto, la seconda riga è tecnicamente corretta per il compilatore (e compila) (ogg potrebbe fare riferimento ad un oggetto PuntoTridimensionale) ma a runtime il downcast fallirà sempre, perché l'oggetto realmente istanziato è un Punto (l'hai assegnato poco prima ...), che ovviamente non è un PuntoTridimensionale.