La differenza tra la funzione di esclusione e di sovraccarico di funzione

March 1

Quando i programmatori usano sviluppo orientato agli oggetti per costruire le loro applicazioni, possono utilizzare sia sovraccarico di funzione e la funzione di override. In linguaggi orientati agli oggetti come Java, le funzioni sono normalmente indicati come i metodi. In un'applicazione orientata agli oggetti, i programmatori di creare dichiarazioni di classe in cui essi definiscono il comportamento degli oggetti applicativi. Sovraccarichi e sovrascrivendo sono opzioni durante la creazione di queste dichiarazioni di comportamento con 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, l'oggetto fornirà i metodi o funzioni, descritte nella dichiarazione. Il seguente codice di esempio Java dimostra la creazione di un oggetto e chiamando un metodo su di esso:

Helper aiuto = new Helper ();
parola String = help.doSomethingUseful (5);

La dichiarazione di classe per oggetto "Helper" della esempio potrebbe fornire questo metodo che utilizza il seguente schema:

public String doSomethingUseful (int num)

La firma del metodo indica che ci vuole un unico parametro intero e restituisce una stringa.

Parametri e restituisce

Il sovraccarico consente ai programmatori di fornire più versioni dello stesso metodo o funzione. A volte una classe può essere necessario per accogliere i valori di ingresso varia per la funzionalità che fornisce. Ad esempio, la classe Helper potrebbe contenere il seguente metodo aggiuntivo:

public String doSomethingUseful (String numText)

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

Eredità

Override è una proprietà di applicazioni che utilizzano l'ereditarietà. Con l'ereditarietà, una dichiarazione di classe può estendere una dichiarazione esistente, ereditando la funzionalità di questa classe genitore. classi che ereditano possono usare i metodi della classe genitore, oltre a fornire ulteriori metodi di loro. Tuttavia, se un classe che eredita deve fornire la propria implementazione di un metodo che eredita dal genitore, si deve ignorare che metodo. Quando una dichiarazione di classe include un'implementazione metodo per un metodo ereditato, questa nuova implementazione sovrascrive automaticamente il metodo genitore. Il codice di esempio riportato di seguito illustra la classe Helper estende un'altra classe:

public class Helper estende BigHelper

Se la classe principale contiene anche il metodo "doSomethingUseful", l'attuazione Helper è prevalente esso.

usi

Sia il sovraccarico e sovrascrivendo fornire ai programmatori con la possibilità di creare la diversità e la flessibilità nelle loro applicazioni. Tuttavia, gli usi di queste due tecniche sono molto diversi. Il sovraccarico essenzialmente significa avere più versioni alternative dello stesso metodo in termini di ingresso e uscita. Override mezzi che sfruttano le funzionalità esistenti attraverso l'ereditarietà, ma anche fornendo funzionalità specializzate che si adatta l'applicazione in fase di sviluppo. Sovraccarichi e sovrascrivendo sono concetti chiave per i programmatori di apprendimento sviluppo orientato agli oggetti.