Terzo meccanismo fondamentale della programmazione ad oggetti dopo:
Il Polimorfismo permette di estendere un progetto già sviluppato aggiungendo nuove funzionalità
Letteralmente, per polimorfismo si intende la proprietà di una entità di assumere forme diverse nel tempo
Riferendoci ad un sistema software ad oggetti, il polimorfismo è la capacità che hanno oggetti di classi derivate da una classe base comune di rispondere in maniera diversa ad uno stesso messaggio
Una entità è polimorfa se può fare riferimento, nel tempo, a classi diverse
L’azione di collegare la chiamata di un metodo al codice corrispondente può avvenire:
Il polimorfismo supporta dunque la proprietà di estensibilità di un sistema, nel senso che minimizza la quantità di codice che occorre modificare quando si estende il sistema, cioè si introducono nuove classi e nuove funzionalità
Il polimorfismo consente di separare il come dal cosa: