Gli
OGGETTI
Gli oggetti posseggono
degli attributi, che rappresentano valori fissi o variabili contenuti
al loro interno, e operazioni predefinite che possono compiere.
Gli oggetti sono
elementi che si differenziano da quelli in altri paradigmi dal fatto
che essi sono delle entità attive. Per attive intendiamo
il fatto che posseggano: uno stato interno, un comportamento
ed un identità.
STATO - - - -
- - - - - - - - - - - - - - - -- - - - - - - - - - - - - - Lo stato
di un oggetto è rappresentato dai valori correnti dei suoi
attributi. Un oggetto consiste di attributi mutevoli e di attributi
immutabili. I primi sono elementi che possono variare a run time,
i secondi no.
Conservazione
dello stato: Mentre, riguardo al paradigma imperativo, quando richiamiamo
un procedura (o funzione) a parte il suo output, di essa non ci
rimane più niente. Un oggetto, invece, mantiene il suo stato
interno, in particolare i suoi attributi non si annullano.
COMPORTAMENTO
- - - -- - - - - - - - - - - - - - - - - - - Il coomportamento di
un oggetto corrisponde alle sue reazioni ai messaggi, dunque è
semplice arrivare al fatto che il suo comportamento è dato
dalle operazioni svolte dai suoi metodi.
IDENTITA - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
L'identità
di un oggetto è la proprietà per cui ogni oggetto
è distinguibile da ogni altro. Due oggetti possono avere
lo stesso nome e gli stessi attributi ma sono elementi distinti
differenziati dal loro OID (Object Identifier), un codice numerico
assegnato ad ogni oggetto alla sua creazione.
Se si fa un assegnazione
del tipo:
oggetto2
: = oggetto1
allora oggetto2
punterà allo stesso OID di oggetto1 e quindi il precedente
oggetto2 rimarrà un oggetto inutilizzato costituente garbage.
|