La programmazione orientata agli oggetti (OOP) è un importante paradigma nello sviluppo del software. È una metodologia per progettare un programma usando classi e oggetti. Una classe è un progetto. Descrive cosa dovrebbe contenere nell'oggetto. Definisce le proprietà o gli attributi e i metodi in cui dovrebbe consistere l'oggetto. Pertanto, un oggetto è un'istanza di una classe. Questi oggetti comunicano con altri oggetti. Uno dei principali concetti di OOP è il polimorfismo. È la capacità di un oggetto di comportarsi in più modi. Il polimorfismo è suddiviso in due sezioni che si sovraccaricano e si annullano. Questo articolo discute la differenza tra questi due in Java. Il differenza fondamentale tra overloading e override in Java è che il Il sovraccarico è la possibilità di creare più metodi con lo stesso nome con diverse implementazioni e Override consiste nel fornire un'implementazione per un metodo di sottoclasse già esistente nella superclasse.
1. Panoramica e differenza chiave
2. Che cos'è il sovraccarico in Java
3. Cos'è Override in Java
4. Somiglianze tra sovraccarico e sovrascrittura in Java
5. Confronto affiancato - Sovraccarico vs Override in Java in formato tabulare
6. Sommario
Il sovraccarico è la possibilità di creare più metodi con lo stesso nome con diverse implementazioni. Fare riferimento al seguente codice Java.
Figura 01: programma Java che spiega il sovraccarico con un numero diverso di argomenti
Secondo il programma di cui sopra, la classe A contiene due metodi con lo stesso nome. Il primo metodo di somma ha due parametri. Il secondo metodo somma ha tre parametri. Quando si crea un oggetto di tipo A e si chiama sum (2,3), chiamerà il metodo sum con due parametri che sono sum (int a, int b) e restituisce 5. Quando si crea un oggetto di tipo A e si chiama sum (2 , 3,4), chiamerà l'altro metodo sum con tre parametri che è la somma (int a, int b, int c) e restituisce 9.
Il nome del metodo è lo stesso ma il numero di parametri è diverso. Si può osservare che lo stesso oggetto si comporta diversamente. Questo concetto è noto come sovraccarico. Si riferisce anche come Legame statico o Compilare il tempo polimorfismo.
Può anche essere sovraccaricato con diversi tipi di dati. Fare riferimento al seguente codice Java.
Figura 02: programma Java che spiega il sovraccarico con un numero diverso di argomenti
Secondo il programma di cui sopra, la classe A è composta da due metodi con lo stesso nome. Il metodo sum (int a, int b) riceve due valori interi. La somma (doppia a doppia b) riceve due valori doppi. Quando crea l'oggetto di tipo A e chiama sum (2,3), chiamerà sum (int a, int b) e restituirà il valore 5. Quando chiama sum (3.4, 5.6), chiamerà sum (double a double) b) e restituire il valore 9.0. In questo esempio, i metodi hanno lo stesso nome, ma un diverso tipo di variabili. Anche questo è sovraccarico.
In Java, è possibile creare sottoclassi con classi già esistenti. Anziché creare la nuova classe dall'inizio, è possibile utilizzare le proprietà e i metodi della classe già esistente. La classe esistente è la superclasse e la classe derivata è la sottoclasse. Quando la sottoclasse fornisce un'implementazione per un metodo, che è già nella superclasse, è noto come override. Fare riferimento al seguente programma Java.
Figura 03: programma Java per l'override
Secondo il programma di cui sopra, la classe A ha una visualizzazione del metodo (). La classe B si estende dalla classe A, quindi le proprietà e i metodi della classe A sono accessibili dalla classe B. La classe B ha il metodo display () con un'implementazione specifica. Quando si crea un oggetto di tipo, A e si chiama il metodo di visualizzazione, esso darà l'output B. Anche se la classe A ha un metodo di visualizzazione, è sovrascritta essere il metodo di visualizzazione di classe B. La sottoclasse sta implementando un metodo già esistente nella superclasse.
Questo concetto è un tipo di polimorfismo e noto come prioritario. È anche chiamato come Legatura tardiva, Associazione dinamica, Polimorfismo di runtime.
Sovraccarico vs Override in Java | |
Sovraccarico in Java è la possibilità di creare più metodi con lo stesso nome con diverse implementazioni. | L'override in Java fornisce un'implementazione specifica nel metodo delle sottoclassi per un metodo già esistente nella superclasse. |
parametri | |
In overloading, i metodi hanno lo stesso nome ma un diverso numero di parametri o un diverso tipo di parametri. | Nel sovrascrivere, i metodi hanno lo stesso nome e i parametri devono essere uguali. |
Temi | |
Il sovraccarico si verifica all'interno della classe. | L'override avviene all'interno delle due classi che hanno una relazione di ereditarietà. |
Sinonimi | |
Il sovraccarico si chiama polimorfismo del tempo compilato. | L'override è chiamato polimorfismo del tempo di esecuzione. |
Il polimorfismo è un concetto importante nella programmazione orientata agli oggetti. Fornisce la capacità di un oggetto di comportarsi in più modi. Questo può essere sovraccarico o eccessivo. Il sovraccarico è il polimorfismo in fase di compilazione e l'override è il polimorfismo di runtime. Sono utili nello sviluppo di applicazioni software. La differenza tra override e overloading è che Overloading è la capacità di creare più metodi con lo stesso nome con diverse implementazioni e Override sta fornendo un'implementazione specifica nel metodo sottoclasse per un metodo già esistente nella superclasse. È possibile implementare sia l'overloading che l'override in Java.
È possibile scaricare la versione PDF di questo articolo e utilizzarlo per scopi offline come da nota di citazione. Si prega di scaricare la versione PDF qui Differenza tra sovraccarico e Override in Java
1.tutorialspoint.com. "Sovrascrittura Java". Il punto. Disponibile qui
2. "Sovraccarico del metodo in Java - Javatpoint." Disponibile qui
3. "Metodo Override in Java - javatpoint." Disponibile qui