Programmazione orientata agli oggetti: Che cos’è l’istanziazione di un oggetto

Programmazione orientata agli oggetti: Che cos’è l’istanziazione di un oggetto

Nella programmazione orientata agli oggetti, la dichiarazione di una variabile stabilisce a quale oggetto può referenziare. La creazione dell’oggetto non coincide con la dichiarazione, ma avviene in modo esplicito a seguito della dichiarazione, fornendo le specifiche di tipo e tutti gli argomenti necessari per la sua costruzione. In questo modo il sistema viene messo in grado di allocare lo spazio che serve per memorizzare gli attributi dell’oggetto, essendo in possesso di tutte le informazioni necessarie allo scopo.

Programmazione orientata agli oggetti: Che cos'è l'istanziazione di un oggetto

L’operazione di creazione degli  ggetti  iene  ndicata con il termine di istanziazione di un oggetto: gli oggetti vengono memorizzati all’interno dell’area di memoria di sistema, nota con il nome di heap, e in risposta all’operazione di creazione viene restituito il riferimento all’oggetto (OID), indicatore utilizzato per riferirsi all’oggetto creato.

Gli attributi presenti all’interno di un  ggetto sono variabili dell’istanza, poiché  per  ogni oggetto definito è presente una copia distinta degli attributi.

Gli oggetti non vengono mai cancellati esplicitamente: nel  omento in cui non servono più è sufficiente non referenziarli, vengono così acquisiti dal  arbage collector, che agendo indipendentemente rispetto all’esecuzione e tenendo traccia di tutti i riferimenti  gli oggetti, li rimuove dallo spazio allocato nello  eap. La cancellazione dell’oggetto avviene quando il garbage collector decide di intervenire, ad  sempio quando il sistema non riesce a trovare sufficiente spazio libero per allocare un’ulteriore oggetto e sorge quindi la necessità di recuperarne.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *