Qual è la differenza tra costruttore predefinito e parametrizzato?

Sommario:

Anonim

Il costruttore predefinito è un tipo di costruttore che viene chiamato automaticamente quando il programmatore non ha definito alcun costruttore nel programma. Al contrario, il costruttore parametrizzato è un tipo di costruttore definito dal programmatore passando parametri per dare valori iniziali alle variabili di istanza nella classe. Questo è il differenza principale tra costruttore predefinito e parametrizzato.

La maggior parte dei linguaggi di programmazione di alto livello supporta la programmazione orientata agli oggetti (OOP). In OOP, tutto è una classe, che aiuta a costruire oggetti. Questi oggetti comunicano tra loro nel programma. Il costruttore è un concetto in OOP. È un metodo speciale che permette di inizializzare un oggetto alla sua creazione. Il costruttore può essere predefinito o parametrizzato.

Costruttore, Costruttore predefinito, OOP, Costruttore parametrizzato

Che cos'è il costruttore predefinito?

Il costruttore viene chiamato quando viene creato un oggetto. Alloca anche la memoria per quell'oggetto. Inoltre, aiuta a dare valori iniziali alle variabili di istanza nella classe. Se il programmatore non definisce un costruttore, il programma chiama automaticamente il costruttore predefinito. Inizializza tutte le variabili membro su zero o null.

Figura 1: programma con costruttore predefinito

Nel programma di cui sopra, c'è una classe Studente. Ha due variabili di istanza come id e nome. Il programmatore non ha definito alcun costruttore. Inoltre, c'è un oggetto studente nel metodo principale. Infine, l'id e il nome vengono stampati sulla console. Poiché il programmatore non ha definito alcun costruttore, il programma chiama il costruttore predefinito. Inizializza l'id su 0 e il nome su null.

Cos'è il costruttore parametrizzato?

Il costruttore parametrizzato è un costruttore che accetta parametri. Possono essere presenti uno o più parametri. Quando è presente un costruttore parametrizzato, il programma non chiama il costruttore predefinito. Inoltre, il programmatore può dichiarare i parametri all'interno delle parentesi dopo il nome del costruttore.

Figura 2: programma con costruttore parametrizzato

Sopra c'è una classe chiamata Calcolo. Ha due variabili di istanza chiamate num1 e num2. Nella riga 7, c'è un costruttore parametrizzato. Prende due argomenti xey e assegna quei valori alle variabili di istanza num1 e num2.

Inoltre, esiste un metodo chiamato sum. Restituirà la somma di quei due numeri. C'è un oggetto di Calcolo nel metodo principale. Il metodo sum viene chiamato usando obj1. Infine, i risultati vengono stampati sulla console.

Differenza tra costruttore predefinito e parametrizzato

Definizione

Il costruttore predefinito è un costruttore che il compilatore genera automaticamente in assenza di costruttori definiti dal programmatore. Viceversa, il costruttore parametrizzato è un costruttore che il programmatore crea con uno o più parametri per inizializzare le variabili di istanza di una classe. Quindi, questo spiega la principale differenza tra costruttore predefinito e parametrizzato.

Numero di parametri

I parametri sono una grande differenza tra il costruttore predefinito e quello parametrizzato. Il costruttore predefinito non ha parametri mentre il costruttore parametrizzato ha uno o più parametri.

Metodo di chiamata

Se il programmatore salta la scrittura di un costruttore, il programma chiama automaticamente il costruttore predefinito. D'altra parte, il programmatore dovrebbe scrivere il proprio costruttore quando scrive un costruttore parametrizzato.

Conclusione

Il costruttore predefinito è un tipo di costruttore che viene chiamato automaticamente quando il programmatore non ha definito alcun costruttore nel programma. Al contrario, il costruttore parametrizzato è un tipo di costruttore definito dal programmatore passando parametri per dare valori iniziali alle variabili di istanza nella classe. Questa è la principale differenza tra costruttore predefinito e parametrizzato.

Riferimento:

1. "Costruttore Java - Javatpoint". Www.javatpoint.com, disponibile qui.

Qual è la differenza tra costruttore predefinito e parametrizzato?