Quella di fornire un modo, a chi usa una classe, di non doversi preoccupare di passare tutte le informazioni necessarie alla costruzione dell'oggetto, ma solo quelle specifiche, lasciando il compito al costruttore di fornire i dettagli per i parametri necessari, che diventano cosģ dei parametri "impliciti".Originariamente inviato da Darčios89
ma mi chiedevo qual'č l'utilitą dei costruttori telescopici.
Esempio. Se ho una classe "Punto" che prevede due valori interi che rappresentano le coordinate sul piano cartesiano, posso pensare di dotare tale classe di un costruttore senza parametri che, implicitamente, costruisce un oggetto Punto posizionato all'origine. Questo costruttore, richiamerą quello con due parametri passando i valori di default (0, 0).
Senza questo costruttore, chiunque volesse costruire un oggetto Punto con coordinate all'origine, dovrebbe obbligatoriamente passare le due coordinate in modo esplicito al costruttore con due argomenti. La presenza del costruttore senza argomenti, semplifica la vita.
Inoltre, se la costruzione di un oggetto prevede di eseguire tante operazioni, usando i costruttori telescopici si scrive una sola volta il costruttore completo e tutti gli altri lo richiameranno. Alcuni vantaggi: si scrive il codice una sola volta (11° comandamento del programmatore: tu non riscriverai); eventuale manutenzione (debugging, ampliamento, ottimizzazione) la si fa solo su un costruttore.
Ciao.![]()



Rispondi quotando