Nwlapcug.com


La differenza tra funzione Override & Overload della funzione

Quando i programmatori utilizzano sviluppo object-oriented per costruire le proprie applicazioni, possono utilizzare entrambi overload di funzione e funzione override. Nei linguaggi orientati agli oggetti come Java, funzioni sono normalmente denominate metodi. In un'applicazione orientata agli oggetti, i programmatori creano dichiarazioni di classe in cui essi definiscono il comportamento di oggetti dell'applicazione. Sovraccarico ed eseguendo l'override sono opzioni durante la creazione di queste dichiarazioni di comportamento utilizzando metodi.

Funzioni di classe

Una dichiarazione di classe è un modello per gli oggetti all'interno di un'applicazione. Quando un programma crea un oggetto di una classe particolare, tale oggetto fornirà i metodi o funzioni, delineate nella dichiarazione. Nell'esempio di codice Java illustra la creazione di un oggetto e chiamare un metodo su di esso:

Guida di supporto = nuovo Helper();
String parola = help.doSomethingUseful(5);

La dichiarazione di classe per oggetto "Helper" dell'esempio potrebbe fornire questo metodo utilizzando il seguente schema:

public String doSomethingUseful (int num)

La firma del metodo indica che accetta un parametro di numero intero e restituisce una stringa.

Parametri e restituisce

L'overload consente ai programmatori di fornire più versioni dello stesso metodo o funzione. A volte una classe potrebbe essere necessario ospitare vari valori di input per la funzionalità che fornisce. Ad esempio, la classe di supporto potrebbe contenere il seguente metodo aggiuntivo:

public String doSomethingUseful (String numText)

Questo metodo ha lo stesso nome come il primo, ma richiede un diverso tipo di parametro. La classe potrebbe contenere più versioni del metodo, con diversi numeri e tipi di parametro e diversi tipi restituiscano. Questo è il metodo di overload, che consente alle classi di affrontare diverse situazioni altrove in un'applicazione.

Ereditarietà

Eseguire l'override è una proprietà di applicazioni utilizzando l'ereditarietà. Con l'eredità, una dichiarazione di classe può estendere una dichiarazione esistente, che eredita la funzionalità di questa classe padre. L'ereditarietà delle classi, è possibile utilizzare i metodi della classe padre, nonché grazie a metodi aggiuntivi dei loro propri. Tuttavia, se una classe che eredita deve fornire la propria implementazione di un metodo eredita dall'oggetto padre, è necessario eseguire l'override di tale metodo. Quando una dichiarazione di classe include un'implementazione del metodo per un metodo ereditato, questa nuova implementazione esegue automaticamente l'override del metodo padre. Nell'esempio di codice riportato di seguito viene illustrata la classe di supporto si estende un'altra classe:

publicclass Helper extends BigHelper

Se la classe padre contiene anche il metodo "doSomethingUseful", l'implementazione di Helper è eseguirne l'override.

Utilizza

Sia sovraccarico e si esegue l'override fornire ai programmatori la possibilità di creare diversità e flessibilità nelle loro applicazioni. Tuttavia, gli usi di queste due tecniche sono molto differenti. Overload essenzialmente significa avere più versioni alternative dello stesso metodo in termini di input e output. Si esegue l'override significa sfruttare le funzionalità esistenti tramite l'ereditarietà ma anche fornendo funzionalità specializzate che si adatta l'applicazione in fase di sviluppo. Sovraccarico ed eseguendo l'override sono concetti chiave per i programmatori di sviluppo object-oriented di apprendimento.