INTRODUZIONE ALLA PROGRAMMAZIONE AD OGGETTI
ATOMIC è un linguaggio di programmazione orientato agli oggetti .
Il paradigma ad oggetti offre diversi vantaggi:
- fornisce un sistema “concreto” che fa riferimento al mondo reale
- è facile da gestire e mantenere
- favorisce la modularità e il riuso del codice
Quando si parla di oggetti è importante distinguere due elementi fondamentali:
- oggetti
- esemplari di oggetti (conosciuti anche come istanze, dalla mal traduzione di instance)
Un oggetto è astratto, ovvero è la descrizione generica di un tipo di esemplare.
Un esemplare è la concretizzazione di un oggetto.
Un elemento può quindi essere un oggetto o un esemplare.
Esempio:
Oggetto: cane
Esemplare: Fuffy
L’oggetto cane è la descrizione generica di un cane.
L’esemplare Fuffy è un esemplare di cane, unico, identificabile e concreto.
Fuffy e cane sono elementi.
EREDITARIETA’ E GERARCHIA
Per ogni oggetto si possono definire delle caratteristiche, queste caratteristiche sono ereditarie.
Gli esemplari ereditano le caratteristiche dell’oggetto a cui appartengono.
Esempio: se la caratteristica COLORE dell’oggetto gatto è arancione tutti gli esemplari di gatto saranno (di base) arancioni.
A loro volta gli oggetti possono appartenere ad altri oggetti sempre più generici ed ereditarne le loro caratteristiche.
In questi casi l’oggetto contenuto viene chiamato oggetto figlio e il contenitore oggetto genitore.
Ad esempio l’oggetto cane può appartenere all’oggetto canidi; a sua volta canidi può appartenere all’oggetto mammiferi; mammiferi può appartenere ad animali, ecc…
ESEMPLARI UNICI
Il sistema gerarchico oggetti-esemplari è molto comodo e potente ma non sempre è utile, perciò un esemplare può anche essere unico ovvero non ereditare alcuna caratteristica ma essere definito interamente durante la sua stessa creazione.