Costruttori


Un costruttore per una classe e' definito come un metodo all'interno della classe stessa.
La dichiarazione di un costruttore deve rispettare le seguenti regole:

Anche per i costruttori si applica il meccanismo dell'overloading: una classe puo' avere piu' costruttori purche' abbiano firma diversa (cioe' i parametri formali devono differire nel tipo e/o nel numero).
Se in una classe e' definito almeno un costruttore, l'operatore new dopo aver creato l'istanza della classe chiama automaticamente sul nuovo oggetto un costruttore, che viene determinato in base alla lista dei parametri attuali.
Quindi, ricapitolando, la valutazione di un'espressione del tipo

new <nome-classe>(<parametri>)

consiste di tre fasi:

  1. creazione di un nuovo oggetto di tipo <nome-classe>,
  2. esecuzione del costruttore opportuno (determinato da  <parametri>)
  3. restituzione del riferimento al nuovo oggetto.
Se nella classe non e' definito nessun costruttore, allora <parametri> deve essere la lista vuota e, concettualmente, viene invocato un costruttore default fornito dal sistema che non fa nient'altro che inizializzare le variabili d'istanza con il corrispondente valore default.



arrow1_left.gif (1097 byte)arrow1_right.gif (1095 byte)