1 056
contributi
m (Robot-assisted disambiguation: Java) |
mNessun oggetto della modifica |
||
In programmazione, si dice '''overloading''' una famiglia di [[Funzione (informatica)|funzioni/subroutine]] aventi lo stesso nome, ma con la possibilità di accettare un diverso set di argomenti ([[signature]]), ed eventualmente restituire un diverso [[valore di ritorno]]. Tale famiglia di funzioni è detta ''in rapporto di Overloading'', o ''sovraccaricata''.
A seconda dei casi, si può parlare di overloading di funzioni, di [[
Sovraccaricare il costruttore di una classe è una pratica comune per gli sviluppatori di librerie, in quanto permette loro di fornire allo sviluppatore finale diverse modalità per inizializzare la [[Classe (informatica)|classe]] con determinati valori iniziali.
</nowiki>
In questo modo è possibile inizializzare un'[[Istanza (informatica)|istanza]] della classe Persona sia fornendo
Il codice di cui sopra è facilmente riutilizzabile in linguaggi come [[C (linguaggio)|C]], [[C++]], [[C sharp|C#]] e [[Java (linguaggio)|Java]], riscrivendo il tutto secondo la sintassi del linguaggio scelto.
}
</nowiki>
Vorremmo essere in grado di eseguire sui numeri complessi le stesse operazioni che eseguiamo normalmente sui [[numeri reali]]. Ad esempio, vorremmo poter eseguire il seguente codice:
<nowiki>
Complex c,d;
cout << c;
</nowiki>
Tale codice solleverebbe un errore di [[compilazione]], in quanto il [[compilatore]] non è in grado di valutare da solo se il complesso c è minore di d, nè tantomeno di scriverlo a video. La soluzione, adottabile '''solo''' in
NOTA: in una applicazione reale è richiesto l'utilizzo della [[libreria]] Math
<nowiki>
//operator<
}
</nowiki>
In linguaggio [[Visual Basic]] è possibile simulare il sovraccarico degli operatori implementando l'[[interfaccia]] IComparable.
==Note sull'overloading==
Un errore comune di molti programmatori è quello di voler creare due funzioni che accettano gli stessi tipi di parametri in ingresso e restituiscono un tipo differente. Ciò non è possibile perché l'esecutore identifica le [[Funzione (informatica)|funzioni]]
L'overloading, infine, non influisce sulla corretta esecuzione delle procedure [[Algoritmo ricorsivo|ricorsive]].
|
contributi