Programmazione degli Elaboratori

Polimorfismo

Il polimorfismo è la capacità di cose diverse di apparire nella stessa forma in un determinato contesto. Si supponga per esempio di scrivere una funzione che restituisce il massimo fra due interi:

Se si prova a invocare la funzione max() per determinare il massimo tra due double, il compilatore segnalerà un errore. Nel caso dell' esempio, per determinare il massimo tra due double sarebbe necessario scrivere un' altra funzione:

Si noti che il corpo delle due funzioni è formalmente identico: quello che cambia è solo la dichiarazione. Un linguaggio di programmazione che supporta il polimorfismo fornisce al programmatore dei mezzi per evitare di dover scrivere metodi distinti in questo tipo di casi. Si possono distinguere quattro tipi di polimorfismo, classificati da Cardelli e Wegner.

Nell' approccio orientato agli oggetti, che utilizza il polimorfismo per inclusione, nel caso dell' esempio: anziché definire tante funzioni diverse che restituiscano il massimo tra due oggetti di ciascun tipo, la programmazione ad oggetti preferisce definire la classe degli elementi su cui ha senso applicare il metodo max(). Una volta definita questa classe tutte le classi da essa derivate ne erediteranno i metodi.























































Tutto quanto riportato in questa pagina è a puro scopo informativo personale. Se non ti trovi in accordo con quanto riportato nella pagina, vuoi fare delle precisazioni, vuoi fare delle aggiunte o hai delle proposte e dei consigli da dare, puoi farlo mandando un email. Ogni indicazione è fondamentale per la continua crescita del sito.