Nella programmazione
imperativa,
l'enfasi viene posta nella progettazione e nella scrittura del procedimento
con il quale, a partire dai dati in ingresso, si producono i risultati.
Nella programmazione
orientata
ad oggetti, l'enfasi viene posta nella progettazione di un modello
del dominio di applicazione. Un oggetto è
una rappresentazione di un oggetto del mondo reale, o di un concetto.
Nella fase di progettazione si individuano gli oggetti
rilevanti, e per ogni oggetto si identifica la sua struttura e le
sue funzionalità. Ogni oggetto ha un proprio stato,
e gli oggetti interagiscono quando un oggetto attiva una
funzionalità di un altro oggetto. L'effetto che ne consegue può
essere un cambio di stato, la creazione di altri oggetti,
la attivazione di altre funzionalità dello stesso oggetto
o di altri oggetti.
Gli oggetti sono raggruppati in classi: ogni classe
rappresenta un insieme di oggetti simili per struttura e funzionalità.
La relazione di sottoinsieme viene modellata con la relazione di
ereditarietà
tra le classi.
Una computazione si sviluppa come una sequenza
di attivazioni di funzionalità di oggetti. |