Differenza chiave: sovraccarico vs sovrascrittura in Java
La programmazione orientata agli oggetti (OOP) è un paradigma importante nello sviluppo del software. È una metodologia per progettare un programma utilizzando classi e oggetti. Una classe è un progetto. Descrive cosa dovrebbe contenere nell'oggetto. Definisce le proprietà o gli attributi ei metodi di cui deve essere composto 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 è classificato in due sezioni che sono sovraccariche e prioritarie. Questo articolo discute la differenza tra questi due in Java. La differenza fondamentale tra il sovraccarico e l'override in Java è che l'overloading è la capacità di creare più metodi con lo stesso nome con diverse implementazioni e l'override è fornire un'implementazione per un metodo di sottoclasse già esistente nella superclasse.
CONTENUTI
1. Panoramica e differenza fondamentale
2. Che cos'è l'overload in Java
3. Che cos'è l'override in Java
4. Somiglianze tra overload e override in Java
5. Confronto affiancato - Overload e override in Java in forma tabulare
6. Riepilogo
Cos'è l'overload in Java?
Il sovraccarico è la capacità di creare più metodi con lo stesso nome con diverse implementazioni. Fare riferimento al codice Java di seguito.
Figura 01: programma Java che spiega l'overloading con un numero diverso di argomenti
Secondo il programma sopra, la classe A contiene due metodi con lo stesso nome. Il primo metodo di somma ha due parametri. Il secondo metodo di 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 in modo diverso. Questo concetto è noto come sovraccarico. Viene anche indicato come Static Binding o Compiles Time Polymorphism.
Può anche essere sovraccaricato con diversi tipi di dati. Fare riferimento al codice Java di seguito.
Figura 02: programma Java che spiega l'overloading con un diverso numero di argomenti
Secondo il programma sopra, la classe A consiste di due metodi con lo stesso nome. Il metodo sum (int a, int b) riceve due valori interi. La somma (double a double b) riceve due valori double. Quando si crea l'oggetto di tipo A e si chiama sum (2,3), chiamerà sum (int a, int b) e restituirà il valore 5. Quando si chiama sum (3.4, 5.6), chiamerà sum (double a double b) e restituisce il valore 9.0. In questo esempio, i metodi hanno lo stesso nome, ma un diverso tipo di variabili. Anche questo è sovraccarico.
Che cos'è l'override in Java?
In Java, è possibile creare sottoclassi con classi già esistenti. Piuttosto che 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 precedente, la Classe A ha un metodo display (). La classe B si estende dalla classe A, quindi le proprietà ei 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, verrà fornito l'output B. Anche se la classe A ha un metodo di visualizzazione, viene sovrascritto dal 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 override. Viene anche chiamato Late Binding, Dynamic Binding, Runtime Polymorphism.
Quali sono le somiglianze tra sovraccarico e sovrascrittura in Java?
- Entrambi sono tipi di polimorfismo.
- In overload e override, i metodi hanno lo stesso nome.
Qual è la differenza tra overload e override in Java?
Articolo diff. Al centro prima della tabella
Sovraccarico vs Sovrascrittura in Java |
|
Il sovraccarico in Java è la capacità di creare più metodi con lo stesso nome con diverse implementazioni. | L'override in Java consiste nel fornire un'implementazione specifica nel metodo della sottoclasse per un metodo già esistente nella superclasse. |
Parametri | |
In sovraccarico, i metodi hanno lo stesso nome ma un diverso numero di parametri o un diverso tipo di parametri. | Nell'override, i metodi hanno lo stesso nome e i parametri devono essere gli stessi. |
Temi | |
Il sovraccarico si verifica all'interno della classe. | L'override si verifica all'interno delle due classi che hanno una relazione di ereditarietà. |
Sinonimi | |
Il sovraccarico è chiamato polimorfismo del tempo compilato. | L'override è chiamato polimorfismo di runtime. |
Riepilogo: sovraccarico e sovrascrittura in Java
Il polimorfismo è un concetto importante nella programmazione orientata agli oggetti. Fornisce la capacità di un oggetto di comportarsi in più modi. Questo può essere di sovraccarico o di forzatura. 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 overload è che Overloading è la capacità di creare più metodi con lo stesso nome con diverse implementazioni e Overriding fornisce un'implementazione specifica nel metodo di sottoclasse per un metodo già esistente nella superclasse. È possibile implementare sia il sovraccarico che l'override in Java.
Scarica PDF Overloading vs Overriding in Java
È possibile scaricare la versione PDF di questo articolo e utilizzarla per scopi offline come da nota di citazione. Si prega di scaricare la versione PDF qui Differenza tra sovraccarico e sovrascrittura in Java