Cos'è il sovraccarico dell'operatore?
Il sovraccarico dell'operatore è una funzione di linguaggio di programmazione del computer che consente a un programmatore di sovrascrivere un operatore predefinito. Quando la funzione dell'operatore è sovraccarica, può essere dichiarata con argomenti personalizzati che sono diversi tipi di dati rispetto a quello che l'operatore era in grado di gestire per impostazione predefinita. I nuovi parametri possono essere tipi primitivi o definiti dall'utente. All'interno del corpo della funzione di prevalenza, un programmatore può manipolare i valori dei parametri come desiderato. Utilizzando il sovraccarico dell'operatore, un programmatore può creare scorciatoie intuitive per manipolare i tipi di dati definiti dall'utente o modificare il modo in cui vengono gestiti i tipi di dati predefiniti.
Quando vengono creati i tipi di dati definiti dall'utente, non c'è modo di eseguire semplici attività operative, come aggiungerli insieme o incrementare i dati interni utilizzando l'operatore non ardente con il tipo di dati. Gli operatori, incluso il simbolo di addizione, possono essere sovrascritti in modo che se vengono utilizzati come operatori binari tra due tipi di dati personalizzati restituiscono un utente DErisultato multato. Allo stesso modo, un operatore unario, come l'operatore di incrementazione, potrebbe essere ignorato per aumentare un valore interno all'interno del tipo definito dall'utente.
Una volta che un operatore è sovraccarico, il compilatore deve prendere una decisione su cosa fare quando incontra un operatore sovraccarico. Il compilatore decide l'azione corretta da intraprendere in base ai tipi di dati utilizzati come operandi o in combinazione con l'operatore. Se gli operandi, che sono valori dei parametri alla funzione dell'operatore, sono tipi di dati definiti dall'utente, il compilatore sceglierà la funzione sovraccarica che ha parametri che corrispondono agli operandi utilizzati.
I linguaggi di computer variano nel modo in cui consentono questo tipo di polimorfismo ad hoc. Lingue diverse possono consentire la creazione di nuovi operatori personalizzati, il sovraccarico di tutti o alcuni dei suoi operatori o non consentire affatto il sovraccarico dell'operatore. C ++, C#, PHP e PerlTutti consentono ad alcuni dei loro operatori di essere sovraccarichi. Il sovraccarico dell'operatore non è consentito in C, Java e JavaScript.
Sia il sovraccarico dell'operatore che il sovraccarico di funzioni in generale sono stati oggetto di un dibattito. Alcuni sostengono che dare al programmatore la libertà di cambiare il modo in cui un operatore si comporta potrebbe introdurre il potenziale per la creazione di errori involontari da parte di altri programmatori che utilizzano il codice personalizzato. Il punto di vista avversario propone che consentire il sovraccarico dell'operatore offre ai programmatori la capacità di creare un codice intuitivo e conciso che sarà più facile da comprendere, costare meno da produrre e ridurre gli errori.