Slides:

Schema della lezione:
Obiettivo: Presentare i concetti di namespace e della ereditarietà
mediante gli strumenti forniti da Java
- Il namespace di Java: i package
- Modificatori di accesso
- Supporto alla documentazione: Javadoc
- Ereditarietà: polimorfismo e binding dinamico
- Casting e conversioni di tipo
- Classi astratte
- Interfacce: motivazioni, modalità di uso e proprietà
Materiale bibliografico:
- Horstmann, Capitolo 4 (Par. 4.7, 4.8, 4.9) e Capitolo 5 (Par.
5.1), Capitolo 6 (Par. 6.1)
Altri link interessanti:
Domande per la auto-verifica della comprensione degli argomenti
Le domande più difficili vengono indicate con (*)
- Quale è la differenza tra import ed include?
- COsa è ed a cosa serve il namespace offerto da Java per le classi?
- Quale è il legame tra namespace e filesystem?
- A cosa serve la variabile di ambiente CLASSPATH?
- Cosa è e come si usa javadoc?
- In cosa consiste il polimorfismo?
- Come (e perché) in alcune situazioni il binding statico è effettuato
al posto del binding dinamico?
- Come si fa a essere sicuri a run-time sulla possibilitaà di
effettuare un casting?
- A cosa servono le classi astratte?
- Quali sono i modificatori di accesso in Java e che tipo di
restrizione impongono?
- E' più "visibile" una variabile protected oppure una dichiarata
senza alcun modificatore di accesso?
- Cosa è una interfaccia e quale è la differenza tra interfaccia e
classi astratte?
- In cosa le interfacce permettono di sostituire la ereditarietà
multipla e che cosa, invece, non sono in grado di fornire?
|