overloading
Caratteristica di un linguaggio di programmazione che consente a un oggetto di avere significati diversi a seconda del contesto. Con lo stesso nome di overloading (letteralmente, sovraccarico) sono chiamate le subroutine che consentono di accettare insiemi di argomenti diversi, restituendo valori diversi. Si parla per es. di overloading di operatori se essi manifestano un diverso comportamento in base al tipo di dato degli operandi. La somma di due elementi è infatti un’operazione che va gestita con modalità differenti se essi sono semplici interi o delle strutture di dati complesse: lo stesso simbolo (supponiamo rappresentato da +) può essere usato per invocare per es., la funzione che somma due numeri interi, la funzione che somma due numeri reali in virgola mobile o la funzione che concatena due liste o due stringhe. Sfruttando tale proprietà è poi possibile creare nuovi tipi e associare ai simboli convenzionali le relative operazioni, ovvero definire entità matematiche non presenti nei tipi base del linguaggio (come tensori, quaternioni, numeri complessi ecc.). Si può di conseguenza esprimere la moltiplicazione fra le due entità così create, utilizzando lo stesso simbolo che è associato alla normale moltiplicazione fra numeri. L’overloading può essere riferito, oltre che agli operatori, anche alle funzioni e ai costruttori. L’overloading di un costrut tore di una classe consente di ottenere modalità differenti per inizializzare una classe con i valori iniziali desiderati. La proprietà dell’overloading, che rappresenta una forma di polimorfismo, è tipica dei linguaggi di programmazione orientati agli oggetti, come Java e il C++.
→ Programmazione, linguaggi di