Condividi tramite


Utilizzo dei metodi New e Finalize in una gerarchia di classi

Aggiornamento: novembre 2007

Ogni volta che viene creata un'istanza di una classe, nel Common Language Runtime (CLR) viene effettuato un tentativo di eseguire una routine denominata New, se esiste in quell'oggetto. New è un tipo di routine chiamata constructor che consente di inizializzare nuovi oggetti prima che venga eseguito qualsiasi altro codice in un oggetto. Un costruttore New consente di aprire file, collegarsi a database, inizializzare variabili e svolgere ogni altra operazione necessaria prima che un oggetto possa essere utilizzato.

Quando viene creata un'istanza di una classe derivata, viene eseguito innanzitutto il costruttore Sub New della classe base, seguito dai costruttori delle classi derivate. Nella prima riga del codice di un costruttore Sub New, infatti, viene utilizzata la sintassi MyBase.New() per chiamare il costruttore della classe immediatamente superiore nella gerarchia delle classi. Viene quindi eseguita la chiamata al costruttore Sub New di ogni classe della gerarchia fino al raggiungimento del costruttore della classe base. A quel punto viene eseguito il codice del costruttore della classe base, seguito dal codice del costruttore di tutte le classi derivate; da ultimo viene eseguito il codice delle classi derivate di livello più basso.

Costruttori ed ereditarietà

Quando un oggetto non è più necessario, prima di liberare la memoria corrispondente viene chiamato il metodo Finalize relativo a quell'oggetto. Il metodo Finalize è denominato destructor, perché consente di eseguire operazioni di pulizia, quali il salvataggio delle informazioni sullo stato, la chiusura dei file e delle connessioni ai database e altre operazioni necessarie prima del rilascio dell'oggetto.

Inheritance2 dei costruttori

Vedere anche

Concetti

Durata degli oggetti: come creare e distruggere oggetti