Precedente Progr. Distribuita Successiva

4: Programmazione OO (2)

[Slide]
 [Schema]
 [Riferimenti]
 [Link]
[Auto-verifica]

[Inizio pagina]

Slides:


[Inizio pagina]

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à

[Inizio pagina]

Materiale bibliografico:

  • Horstmann,  Capitolo 4 (Par. 4.7, 4.8, 4.9)  e Capitolo 5 (Par. 5.1), Capitolo 6 (Par. 6.1)  

[Inizio pagina]

Altri link interessanti:


[Inizio pagina]

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?

Modificato il: 28/11/2003
Vittorio Scarano
Dipartimento di Informatica ed Applicazioni "R.M. Capocelli"
Università degli Studi di Salerno
vitsca@unisa.it