Cos'è un costruttore predefinito?

Un costruttore predefinito è un metodo specializzato che crea e inizializza un oggetto nella programmazione orientata agli oggetti. Esistono più tipi di costruttori, ma un costruttore predefinito deve soddisfare uno dei due criteri specifici, oltre a creare e inizializzare un oggetto. Non deve avere parametri, nel qual caso potrebbe anche essere chiamato un costruttore Nullary, oppure deve assegnare valori predefiniti a tutti i parametri che ha la possibilità di impostare. Alcuni linguaggi di computer specificano implicitamente un costruttore noullario predefinito se il programmatore non specifica affatto un costruttore. Una volta scritto qualsiasi tipo di costruttore, il costruttore Nullary predefinito non viene più specificato e deve essere scritto esplicitamente se necessario.

Per i linguaggi del computer che consentono l'eredità orientata agli oggetti, i costruttori predefiniti nelle sottoclassi devono essere collegati con precisione ai costruttori in superclassi. I costruttori della sottoclasse devono sempre chiamare i costruttori di superclasse prima di fare qualcosa di specifico per la sottoclasse. ION Alcune lingue, come Java®, un costruttore sottoclasse chiama implicitamente un costruttore Nullary predefinito superclasse. Se non esiste un costruttore noullario predefinito superclasse, l'oggetto sottoclasse non può essere costruito correttamente. Le sottoclassi possono ancora avere entrambi i tipi di costruttore predefinito in questo caso, ma un costruttore di superclasse disponibile deve essere chiamato correttamente, forse passando i valori predefiniti unici nella sottoclasse.

La generazione implicita di un costruttore Nullary predefinito ha il vantaggio di ridurre il numero di metodi che un programmatore deve specificare e documentare, ma ha anche lo svantaggio di rendere più difficile la manutenzione e la comprensione del codice. Alcuni programmatori considerano l'omissione di un costruttore predefinito come una cattiva pratica, mentre altri no. Non c'è nulla che impedisca a un singolo programmatore di aderire a uno di questi metodi di programmazione, quindi incluso un defIl costruttore Nullary Ault nel codice è in gran parte una scelta stilistica da parte del programmatore. Se il costruttore è incluso, la maggior parte delle scuole di pensiero impone che dovrebbe essere commentato e documentato proprio come qualsiasi altro costruttore o metodo sarebbe.

Qualsiasi costruttore predefinito può avere modificatori di accesso ad esso, rendendo il costruttore pubblico, protetto o privato. Ciò fornisce le capacità specifiche del costruttore in base alla classe in cui è specificata. Un costruttore predefinito pubblico può essere utilizzato per creare un nuovo oggetto da un'altra classe, mentre un costruttore protetto può essere chiamato solo dalla propria classe e da eventuali sottoclassi. I costruttori predefiniti protetti sono visti spesso in una gerarchia ereditaria. I costruttori privati ​​sono generalmente impiegati solo in classi autonome, in cui è disponibile un tipo di metodo di fabbrica per chiamarlo, piuttosto che il programmatore.

ALTRE LINGUE

Questo articolo è stato utile? Grazie per il feedback Grazie per il feedback

Come possiamo aiutare? Come possiamo aiutare?