Sovraccarico del costruttore in Java: spiegazione, vantaggi ed esempi

Pubblicato: 2021-07-22

Sommario

Nozioni di base di Java

Java, con le sue caratteristiche straordinarie e dinamiche, è emersa come una delle scelte più ambite dagli sviluppatori per la programmazione su larga scala di applicazioni web. È un linguaggio facile da usare con una vasta gamma di straordinarie funzionalità. La sua compatibilità con tutti i sistemi operativi è la ricca API lo ha reso popolare in tutto il mondo. Il linguaggio offre un solido supporto per la comunità ed eccellenti servizi di documentazione. Java ha una suite di solidi strumenti di sviluppo.

Costruttori in Java

I costruttori in Java vengono utilizzati per inizializzare lo stato dell'oggetto. Proprio come i metodi, i costruttori contengono anche un gruppo di istruzioni o istruzioni che devono essere eseguite durante la creazione di un oggetto.

Perché abbiamo bisogno di un costruttore in Java?

Consideriamo una scatola. Se si presume che la scatola sia una classe, potrebbe avere diverse variabili come larghezza, lunghezza e altezza. Quando un oggetto deve essere creato, la classe box non avrà valori definiti per le sue dimensioni. Al momento della creazione di nuovi oggetti, i costruttori assegnano valori alle variabili della classe. L'assegnazione dei valori può essere eseguita utilizzando i costruttori Java predefiniti o in modo esplicito tramite i parametri passati dal programmatore.

Quando viene richiamato un costruttore?

Viene richiamato almeno un costruttore ogni volta che viene creato un oggetto utilizzando la parola chiave new(). Questo costruttore fornisce valori iniziali ai membri dati della classe. In generale, un costruttore viene chiamato quando viene creato un nuovo oggetto o istanza.

Sovraccarico del costruttore in Java

Il processo di definizione di più costruttori della stessa classe viene definito sovraccarico del costruttore. Tuttavia, ogni costruttore dovrebbe avere una firma o parametri di input diversi. In altre parole, l'overloading del costruttore in Java è una tecnica che consente a una singola classe di avere più di un costruttore che varia in base all'elenco di argomenti passati. Ogni costruttore sovraccaricato viene utilizzato per eseguire attività diverse nella classe.

Il compilatore Java identifica i costruttori sovraccaricati sulla base dei loro elenchi di parametri, tipi di parametri e numero di parametri di input. Pertanto, i costruttori sovraccaricati dovrebbero avere firme diverse. La firma di un costruttore ne contiene il nome e i tipi di parametro. Si verifica un problema di ambiguità quando due dei costruttori di classe hanno una firma identica.

Il compilatore non riesce a distinguere tra i due e quindi restituisce una notifica di errore. Quando i costruttori con firme diverse vengono sovraccaricati, il compilatore determina il costruttore da richiamare in base al numero di parametri di input degli oggetti.

Uso del sovraccarico del costruttore

Poiché l'overloading della costruzione consente la creazione dell'oggetto di una classe specifica in diversi modi, è più comunemente utilizzato nei programmi Java in base alle esigenze del programmatore. Con l'uso dell'overloading del costruttore, gli oggetti possono essere inizializzati con tipi di dati diversi.

Si consideri che un oggetto con tre variabili di istanza di classe viene preso come esempio in cui un valore particolare deve essere assegnato alla variabile di seconda istanza e alle altre variabili devono essere assegnati valori predefiniti. Ciò può essere ottenuto mediante la dichiarazione di più costruttori in base alle diverse firme nella classe costituente.

Leggi: Spiegazione dei componenti e dell'architettura per la carriera Java

Codice di esempio per l'implementazione del sovraccarico del costruttore in Java

Consideriamo un programma in cui una classe Employee ha tre costruttori. In base ai valori passati, ciascuno dei tre viene richiamato per inizializzare un oggetto.

Uso di questo riferimento in Java

Tutti i metodi e costruttori di istanza accolgono con favore un parametro implicito chiamato 'this', che viene utilizzato per fare riferimento all'oggetto corrente. L'oggetto corrente è l'oggetto su cui viene invocato il metodo. Possiamo usare il riferimento "questo" per fare riferimento all'oggetto corrente all'interno di qualsiasi costruttore o metodo. Il riferimento 'this' può essere utilizzato, come qualsiasi altro riferimento a oggetto, per accedere a metodi di istanza, costruttori e variabili, all'interno del metodo o del corpo del costruttore.

Alcuni scenari importanti in cui viene utilizzato il riferimento "questo" sono:

  1. Quando i nomi dei parametri sono diversi dai nomi delle variabili di istanza
  2. Quando un riferimento deve essere passato all'oggetto corrente e un parametro a un altro metodo
  3. Quando un costruttore deve essere richiamato da un altro costruttore.

Gli argomenti di riferimento this() devono corrispondere agli argomenti del costruttore di destinazione in questo caso. La funzione this() deve essere la prima istruzione all'interno del costruttore. In casi speciali come la complessità della routine di inizializzazione, questa funzione può essere utilizzata nell'eliminazione del codice duplicato in più costruttori.

Impara i corsi di sviluppo software online dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.

Vantaggi del sovraccarico del costruttore in Java

I principali vantaggi dell'utilizzo dell'overloading del costruttore durante la scrittura di programmi Java sono:

  • L'overloading del costruttore consente il raggiungimento del polimorfismo statico.
  • Le istanze della classe possono essere inizializzate in diversi modi con l'uso dell'overloading del costruttore.
  • Facilita il processo di definizione di più costruttori in una classe con firme univoche.
  • Ogni costruttore sovraccaricato esegue varie attività per scopi specificati.

Sommario

  • L'overloading del costruttore in Java si riferisce all'uso di più di un costruttore in una classe di istanza. Tuttavia, ogni costruttore sovraccaricato deve avere firme diverse.
  • Affinché la compilazione abbia esito positivo, ogni costruttore deve contenere un elenco di argomenti diverso.
  • L'elenco dei parametri include la sequenza ei tipi di argomenti di input.
  • Due costruttori in una classe con lo stesso elenco di parametri non sono fattibili in Java.

Se sei interessato a saperne di più sullo sviluppo di software full stack, dai un'occhiata al programma Executive PG di upGrad e IIIT-B in sviluppo software - Specializzazione in sviluppo full stack, progettato per i professionisti che lavorano e offre oltre 500 ore di formazione rigorosa, 9+ progetti e incarichi, stato di Alumni IIIT-B, progetti pratici pratici e assistenza sul lavoro con le migliori aziende.

Prepararsi per una carriera del futuro

Richiedi il programma Executive PG in Software Development di IIIT-B