Sovraccarico dell'operatore
Per comprendere il concetto di sovraccarico di un operatore, implementeremo l'operatore più semplice e comunemente sovraccarico che utilizziamo, l'operatore "+". Normalmente l'operatore "+" viene utilizzato per aggiungere due numeri. Ma se lo scriviamo tra una stringa e un numero, li concatenerà entrambi. Questo è un ottimo esempio di sovraccarico di un operatore unario.
Nel programma C# sopra, abbiamo dimostrato una semplice funzione in cui utilizziamo l'operatore "+" per aggiungere 2 numeri nella prima riga, e poi nella seconda riga, utilizziamo lo stesso operatore per aggiungere una stringa e un numero insieme Risultato della parola nella concatenazione della stringa e un numero mentre stiamo sovraccaricando l'operatore per farlo.
L'output del programma sopra mostra la doppia natura dell'operatore "+"; Nella prima operazione, sta semplicemente aggiungendo due numeri per il risultato come 4, ma nell'altra operazione, l'operatore "+" agisce come agente di concatensione di una stringa in un numero in quanto è pre-definita nella programmazione C# lingua.
Ora esamineremo alcuni esempi relativi al sovraccarico di un operatore in cui useremo la parola chiave "operatore" per dichiararla come sovraccarico di un determinato operatore.
Esempio 01: sovraccarico dell'operatore "-" in Ubuntu 20.04
In questo esempio, ci concentreremo sull'ampio sovraccarico di un operatore attraverso l'eredità dei metodi di sovraccarico. In questo caso, l'operatore "-" verrà sovraccarico. Il valore di una variabile intera verrà assegnato all'operatore "-"; Tuttavia, il tipico funzionamento del "-" sarà modificato dal sovraccarico. Useremo l'algebra per tradurre l'operatore "-" in un segno che può essere dato a un numero.
Nell'esempio sopra, abbiamo due variabili interi e sostituite i loro valori altri due numeri interi. Quindi abbiamo creato la funzione di sovraccarico con l'aiuto della parola chiave "operatore" in cui è stato ridefinito il funzionamento convenzionale dell'operatore "-". Quindi abbiamo chiamato l'operatore sovraccarico nel programma principale per vedere la differenza tra l'operatore normale e sovraccarico. Dopo aver compilato ed eseguito il programma sopra, otterremo il seguente risultato:
Come possiamo vedere che l'operatore è ora sovraccarico e la funzione predefinita dal metodo sovraccarico viene eseguita nell'ultima chiamata.
Esempio 02: sovraccarico dell'operatore "+" in Ubuntu 20.04
Come abbiamo discusso in precedenza, l'operatore "+" è sovraccarico e può eseguire più operazioni, ma può comunque essere sovraccarico attraverso metodi e eredità degli oggetti di classe. In questo esempio, sovraccaricheremo l'operatore "+" in cui trasformeremo l'operatore "+" nell'aggiungere due oggetti di una classe piuttosto che dei numeri che è la funzione predefinita dell'operatore "+". L'operatore "+" verrà sovraccarico utilizzando il metodo della parola chiave "operatore".
In questo programma C#, creeremo un metodo per sovraccaricare l'operatore "+". Innanzitutto, creeremo una classe e chiameremo il suo oggetto nel metodo di sovraccarico. Questi oggetti verranno utilizzati nella definizione della funzionalità dell'operatore "+", che sta aggiungendo due oggetti a una classe con l'aiuto dell'operatore "+". Quindi verrà creato il metodo di visualizzazione, che visualizzerà l'oggetto "num". Nel programma principale, creeremo nuovi oggetti e assetteremo i valori alle classi e quindi useremo l'operatore "+" sovraccarico per aggiungere due oggetti l'uno all'altro. Dopo aver compilato il programma sopra, otterremo l'output come mostrato di seguito:
I valori degli oggetti della classe sono mostrati nell'output, che sono "5" e "10" e la somma di questi oggetti è "15", indicando che ora abbiamo sovraccaricato l'operatore "+" per aggiungere due oggetti del classe e somma per un risultato, proprio come l'aggiunta di due numeri interi normalmente.
Esempio 03: sovraccarico dell'operatore "*" in Ubuntu 20.04
Il metodo per sovraccaricare l'operatore "*" sarà discusso in questo esempio. La parola chiave dell'operatore verrà utilizzata per fornire un metodo di sovraccarico per l'operatore "*". Il lavoro fondamentale dell'operatore "*" è quello di moltiplicare due numeri interi, ma in questo esempio lo sovraccaricheremo definendolo per moltiplicare due oggetti di una classe e trattarli come due numeri.
Abbiamo creato un metodo pubblico in cui abbiamo assegnato un numero intero a un oggetto. Quindi abbiamo creato un metodo pubblico per sovraccaricare l'operatore "*" utilizzando la parola chiave dell'operatore prima del simbolo e dei parametri. I parametri di questa funzione sono gli oggetti della classe precedente; Quindi sta ereditando l'entità della classe precedente, che viene quindi moltiplicata tra loro in un nuovo oggetto, e questo oggetto verrà restituito da questo metodo. Nella funzione principale, creeremo tre nuovi oggetti e ci assegneremo due alcuni valori nel parametro. Quindi questi oggetti verranno moltiplicati utilizzando l'operatore sovraccarico e il risultato verrà visualizzato nella schermata di output. Dopo aver compilato ed eseguito correttamente il programma sopra, otterrai il seguente risultato, come mostrato nello snippet:
Come possiamo vedere che i primi due numeri vengono visualizzati utilizzando la funzione di visualizzazione, che restituisce gli oggetti della classe d'esame. Quindi abbiamo il valore risultante della moltiplicazione di questi due oggetti che è "50", sebbene l'operatore "*" assuma solo il prodotto di due numeri a causa del nostro sovraccarico, l'operatore ha anche moltiplicato due oggetti anche due oggetti.
Esempio 04: sovraccarico dell'operatore di uguaglianza in Ubuntu 20.04
Ora sovraccaricheremo l'operatore di uguaglianza nel linguaggio di programmazione C#. In questo esempio, l'operatore di uguaglianza verrà utilizzato per confrontare gli oggetti di una classe anziché la sua normale funzione per l'assegnazione di valori alle variabili. I valori dell'oggetto saranno gli stessi in questo scenario, ma per differenziare, useremo un riferimento diverso e vedremo la differenza nel risultato di questa operazione.
Costruiremo un "esame" di classe nel suddetto programma C# e inizializzeremo alcune variabili in esso, che useremo nella funzione intrinseca "Display ()",. Successivamente, daremo numeri equivalenti a due oggetti della classe "esame" e li confronteremo tra loro poiché il terzo elemento è stato indirizzato dal secondo, risultando in un risultato uguale. Su Ubuntu 20.04 Terminale della riga di comando, testeremo questa funzione eseguendo l'applicazione sopra menzionata.
Come possiamo vedere che il primo confronto non è stato un successo, ma il secondo era perché avevano lo stesso riferimento.
Conclusione
In questo articolo, abbiamo discusso del concetto di base di sovraccarico dell'operatore. Il linguaggio di programmazione C# consente al concetto di caricamento dell'operatore e anche lo ha già adattato in merito all'operatore "+", che aggiunge numeri e concatena anche stringhe. Gli operatori sovraccaricabili sono stati discussi e implementati in Ubuntu 20.04 ambiente per avere una migliore comprensione di come vengono creati i metodi di sovraccarico.