Tipo di Dati Astratto

Una classe implementa un tipo di dato astratto

Una classe ha un nome, e contiene attributi e metodi

Oggetto

Un oggetto è una istanza di una classe (a volte più di una)

Un oggetto occupa memoria, la sua classe definisce come sono organizzati i dati in questa memoria

Ogni oggetto possiede tutti gli attributi definiti nella classe, ed essi hanno un valore, che può mutare durante l’esecuzione del programma come quello di qualsiasi variabile

Se il paradigma della OOP è applicato in modo rigido, gli attributi di un oggetto vengono manipolati solo da metodi invocati su quello stesso oggetto

Sintatticamente, i metodi di una classe vengono invocati su un particolare oggetto, e ricevono come parametro implicito l’oggetto su cui sono stati invocati

Questo parametro normalmente piò essere referenziato esplicitamente

Alcuni linguaggi forniscono un supporto per l’inizializzazione automatica di un oggetto, con uno speciale metodo detto costruttore

Allo stesso modo, la fine della vita di un oggetto è gestita con un metodo detto distruttore

Oggetti

Un oggetto è una istanza (”esemplare”) di una classe, che viene creato (”istanziato”) dinamicamente

Due esemplari della stessa classe sono distinguibili soltanto per il loro stato (il valore dei loro campi), mentre il comportamento è sempre identico

Modellano le entità del dominio di applicazione (proprietà ed interrelazioni)

Versione informatica degli oggetti “reali”, dotati di una loro propria “individualità”

Capaci di interagire per scambio di messaggi

Caratterizzati da proprietà: