Ada (linguaggio di programmazione): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 714:
La procedura <code>Initialize</code> viene eseguita sull'oggetto subito dopo la creazione e può svolgere le funzionalità di inizializzazione tipicamente delegate ad un costruttore,<ref>Tecnicamente non si tratta di un costruttore, che viene eseguito durante la creazione dell'oggetto e dopo l'esecuzione dei costruttori di eventuali superclassi.</ref> la procedura <code>Adjust</code> viene eseguita subito dopo un'assegnazione (per cui non è disponibile per i tipi <code>Limited_Controlled</code>) e può fungere da costruttore di copia, mentre la procedura <code>Finalize</code> viene eseguita immediatamente prima della deallocazione di un oggetto, e funge da [[distruttore (informatica)|distruttore]].<ref>{{cita|Barnes (2014)|pp. 342-346|barnes14}}.</ref>
 
Per ragioni storiche, i tipi <code>Ada.Finalization.Controlled</code> e <code>Ada.Finalization.Limited_Controlled</code> non sono interfacce (aggiunte solo in Ada 2005) ma tipi astratti, per cui non è possibile crearedefinire un tipo che sia controllato e che contemporaneamente ereditareerediti l'implementazione di un tipo non controllato.<ref name=barnes350 />
 
== Note ==