Differenza tra sovraccarico e sovrascrittura in Java

Sommario:

Differenza tra sovraccarico e sovrascrittura in Java
Differenza tra sovraccarico e sovrascrittura in Java

Video: Differenza tra sovraccarico e sovrascrittura in Java

Video: Differenza tra sovraccarico e sovrascrittura in Java
Video: Difference between Overloading and Overriding in Java 2024, Dicembre
Anonim

Differenza chiave – Sovraccarico e sovrascrittura in Java

La programmazione orientata agli oggetti (OOP) è un paradigma importante nello sviluppo di 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 e i metodi in cui dovrebbe essere costituito l'oggetto. Pertanto, un oggetto è un'istanza di una classe. Questi oggetti comunicano con altri oggetti. Uno dei concetti principali di OOP è il polimorfismo. È la capacità di un oggetto di comportarsi in più modi. Il polimorfismo è classificato in due sezioni che sovraccaricano e sovrascrivono. Questo articolo discute la differenza tra questi due in Java. La differenza fondamentale tra l'overloading e l'override in Java è che l'Overloading è la capacità di creare più metodi con lo stesso nome con implementazioni diverse e l'override è quello di fornire un'implementazione per un metodo di sottoclasse che esiste già nella superclasse.

Cos'è il sovraccarico in Java?

L'overloading è la capacità di creare più metodi con lo stesso nome con implementazioni diverse. Fare riferimento al codice Java sottostante.

Differenza tra sovraccarico e sovrascrittura in Java
Differenza tra sovraccarico e sovrascrittura in Java
Differenza tra sovraccarico e sovrascrittura in Java
Differenza tra sovraccarico e sovrascrittura in Java

Figura 01: Programma Java che spiega il sovraccarico 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 è sum(int a, int b, int c) e restituisce 9.

Il nome del metodo è lo stesso ma il numero dei parametri è diverso. Si può osservare che lo stesso oggetto si comporta in modo diverso. Questo concetto è noto come sovraccarico. Viene anche indicato come associazione statica o polimorfismo temporale di compilazione.

Può anche essere sovraccaricato con diversi tipi di dati. Fare riferimento al codice Java sottostante.

Differenza tra sovraccarico e sovrascrittura in Java_Figure 02
Differenza tra sovraccarico e sovrascrittura in Java_Figure 02
Differenza tra sovraccarico e sovrascrittura in Java_Figure 02
Differenza tra sovraccarico e sovrascrittura in Java_Figure 02

Figura 02: Programma Java che spiega il sovraccarico con un numero diverso di argomenti

Secondo il programma sopra, la classe A consiste in 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 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 restituire il valore 9.0. In questo esempio, i metodi hanno lo stesso nome, ma un diverso tipo di variabili. Anche questo sta sovraccaricando.

Cos'è l'override in Java?

In Java, è possibile creare sottoclassi con classi già esistenti. Anziché creare la nuova classe dall'inizio, è possibile utilizzare le proprietà ei 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 programma Java sottostante.

Differenza chiave tra sovraccarico e sovrascrittura in Java
Differenza chiave tra sovraccarico e sovrascrittura in Java
Differenza chiave tra sovraccarico e sovrascrittura in Java
Differenza chiave tra sovraccarico e sovrascrittura in Java

Figura 03: Programma Java per l'override

Secondo il programma sopra, la Classe A ha un metodo display(). 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, verrà restituito l'output B. Anche se la classe A ha un metodo di visualizzazione, viene sovrascritto dal metodo di visualizzazione della classe B. La sottoclasse sta implementando un metodo già esistente nella superclasse.

Questo concetto è un tipo di polimorfismo noto come overriding. Viene anche chiamato Late Binding, Dynamic Binding, Runtime Polymorphism.

Quali sono le somiglianze tra sovraccarico e sovrascrittura in Java?

  • Entrambi sono tipi di polimorfismo.
  • Nell'override e nell'override, i metodi hanno lo stesso nome.

Qual è la differenza tra sovraccarico e sovrascrittura in Java?

Sovraccarico vs Override in Java

Il sovraccarico in Java è la capacità di creare più metodi con lo stesso nome con implementazioni diverse. L'override in Java fornisce un'implementazione specifica nel metodo della sottoclasse per un metodo già esistente nella superclasse.
Parametri
Nell'overloading, i metodi hanno lo stesso nome ma un diverso numero di parametri o un diverso tipo di parametri. In sovrascrittura, i metodi hanno lo stesso nome e i parametri devono essere gli stessi.
Temi
Si verifica un sovraccarico 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 del tempo di esecuzione.

Riepilogo – Sovraccarico vs Override 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 override. L'overload è il polimorfismo in fase di compilazione e l'override è il polimorfismo di runtime. Sono utili nello sviluppo di applicazioni software. La differenza tra l'override e l'overloading è che l'overloading è la capacità di creare più metodi con lo stesso nome con implementazioni diverse e l'override fornisce un'implementazione specifica nel metodo della sottoclasse per un metodo già esistente nella superclasse. È possibile implementare sia l'override che l'override in Java.

Scarica il PDF Sovraccarico vs Sovrascrittura in Java

Puoi scaricare la versione PDF di questo articolo e usarla per scopi offline come da nota di citazione. Si prega di scaricare la versione PDF qui Differenza tra sovraccarico e sovrascrittura in Java

Consigliato: