Originariamente inviato da Ed_Bunker
Se ho un costruttore generale non sempre cio' che "voglio fare" e' richiamarne uno piu' "specifico".
Anzi... piu' il costruttore e' "generale e piu' i costruttori specifici possono richiamarlo per mettere a comune alcune o tutte le inizializzazioni di default.
Certo, nessuno ha detto che non si possa fare.
Ma la pratica più comune (guardando anche i sorgenti Sun, come quello che ho postato sopra) è quella di permettere all'utente (programmatore) di utilizzare un costruttore con pochi parametri, dandogli la possibilità di evitare di scrivere inutilmente troppe informazioni, quando queste sono "superflue", o quando solitamente, in loro mancanza, si intende un valore specifico.

E' il caso visto prima: solitamente non si va a specificare sempre e comunque il parametro "append" perchè lo si intende automaticamente a false.

Altro esempio (più per i metodi che per i costruttori): quando chiedo la conversione di un numero da stringa a intero, non vado a indicare esplicitamente che la stringa rappresenta un numero in base 10... questa informazione può essere passata "di default" al metodo più specifico.

Ad ogni modo, la cosa non è biunivoca: può essere utilizzata in entrambi i sensi... anche se il senso opposto lo vedo più adatto quando si ha una classe base (con pochi parametri) e una derivata con maggiori informazioni...


Ciao.