Polimorfismo


Il Polimorfismo è l'abilità di richiamare diversi metodi con nomi uguali separatamente.
Il polimorfismo può essere effettuato mediante overriding e overloading.

Overriding
L'overriding è possibile quando ci troviamo all'interno di una gerarchia di classi (vedi ereditarietà).
Esso consiste nell'estendere un metodo già presente in una classe superiore.
Per esempio, se abbiamo la classe cilindro che deriva dalla classe cerchio, per calcolare l'area del cilindro, occorre anche l'area del cerchio, quindi all'interno del metodo area del cilindro, verrà richiamato il metodo area del cerchio.

Overloading
L'overloading sfrutta la differenza di numero o di tipo di parametri che deve avere in ingresso un metodo, per effettuare il polimorfismo.
Viene spesso utilizzato nei costruttori con e senza parametri, per aggiungere la scelta di non inserire parametri in ingresso.