Nella programmazione software, la programmazione orientata agli oggetti (OOP) è un framework che tenta di creare oggetti da cose del mondo reale. La teoria e la pratica del polimorfismo sono fortemente incoraggiate all’interno dei principi OOP. In generale, un oggetto dovrebbe essere creato per avere caratteristiche e comportamenti di base con la consapevolezza che questi cambieranno quando diventerà un tipo specifico.
Il polimorfismo è la capacità di avere una variabile, una funzione o un oggetto con più di un significato all’interno del programma. Esistono più progetti di architettura che dimostrano il polimorfismo. Questi progetti delineano come un oggetto verrà riutilizzato all’interno di un’applicazione per molteplici scopi.
Molti linguaggi di programmazione supportano l’uso del polimorfismo. Questo processo consente il riutilizzo delle regole aziendali e del codice software in un’applicazione. Non tutti i linguaggi di programmazione supportano il comportamento polimorfico completo, ma la maggior parte supporta il concetto di base. Tutti i veri linguaggi OOP, inclusi Java®, .net e C++®, supportano approcci e tecniche più avanzati.
Un conto bancario è un buon esempio di oggetto base che potrebbe supportare il polimorfismo. Tutti i conti bancari hanno numeri di conto, nomi e un saldo. Ciò che rende unico un account è il tipo di account. Alcuni esempi di tipi sono conti di risparmio, conti correnti o conti del mercato monetario. All’interno del polimorfismo, un conto bancario sarebbe l’oggetto di base con i conti più specifici che utilizzano le caratteristiche del conto bancario di base. Ogni account potrebbe quindi avere comportamenti aggiuntivi per supportare i tassi di interesse o sanzioni di prelievo durante il riutilizzo delle informazioni su un conto bancario.
L’utilizzo delle teorie del polimorfismo consente agli sviluppatori di risparmiare tempo riducendo lo spreco di codice. Rende il codice più facile da scrivere e più facile da capire per gli altri. Inoltre, rende il software estensibile, poiché i tipi futuri possono essere aggiunti in seguito utilizzando l’oggetto antenato di base all’interno del codice esistente. In generale, le applicazioni sviluppate in questo modo sono più flessibili e più facili da estendere richiedendo meno codice per modifiche future
Le teorie del polimorfismo si applicano anche alle funzioni. Una funzione è un pezzo di codice software che esegue un’attività specifica. Le funzioni possono anche essere scritte in modo polimorfico. Questo approccio rende il codice più flessibile perché le funzioni possono essere riutilizzate per altre regole aziendali all’interno del software.
Un buon esempio di polimorfismo con una funzione sarebbe una funzione di ordinamento. Questo tipo di funzione ordinerebbe un elenco di numeri. Una funzione polimorfica potrebbe non solo ordinare i numeri, ma potrebbe anche ordinare qualsiasi tipo di oggetto. Ciò rende la funzione più efficiente perché funziona su più tipi di dati.