
Le classi si può dire che abbiano due scopi:
- Nella modellazione ad oggetti: per rappresentare categorie reali.
(Invece, gli oggetti rappresentano entità con unica identità e
valori di attributi).
- Nella programmazione ad oggetti: per fungere da "stampo"
per la creazione (istanziazione) di oggetti.
Programmare con linguaggi di programmazione ad oggetti come il C++ e
lo Smalltalk consiste sostanzialmente nella definizione di classi,
piuttosto che definire oggetti individualli.
Generalmente le classi sono molto di meno (qualche centinaia)
rispetto alle migliaia di oggetti.
I criteri sono:
- Stessi attributi
Tutti i telefoni hanno gli stessi attributi: numero, linea e stato.
Ma il valore di questi attributi può essere diverso.
- Stesse operazioni
Tutti i telefoni devono rispondere ai messaggi: start-ring, stop-ring.
- Stessi metodi
Il comportamento, cioè il codice che definisce come attuare le operaioni deve coincidere.
Se questi criteri non sono soddisfatti, occorre definire piùl di una
classe, per esempio AnalogueTelephone e DigitalTelephone.
Per programmatori esperti che imparano a programmare in C++ o Java,
occorre tempo per abituarsi a pensare ai programmi come collezione di classi,
invece di una collezione di funzioni.
Si può avere il senso di non vedere come il programma si comporta
nella sua interezza, dato che si vedono solo definizioni di come oggetti di
certe classi reagiscono in risposta a stimuli esterni.
Tuttavia, dopo un pò si inizia ad apprezzare il meccanismo,
perché solleva il programmatore dal preoccuparsi del funaionamento
delle altre parti del programma.
Invece ci si deve concentrare su come rispondere ad un insieme ben definito
di stimoli esterni.
Exercise.
previous |
next |
start |
contents |
dictionary |
help |
evaluation
© Ericsson Telecom AB, 1995, Stockholm, Sweden