Laboratorio di Programmazione ad Oggetti
Corso di Laurea in Informatica
a.a. 2001/2002
Programma del corso
- Introduzione alla programmazione ad oggetti:
- il concetto di astrazzione nell'evoluzione dei linguaggi di programmazione
- esecuzione di programmi: compilatori ed interpreti
- gestione della memoria e dati dinamici, garbage collector
- oggetti, incapsulamento dei dati, invio di messaggi, classi
- istanze, allocazione dinamica della memoria, puntatori e oggetti
- binding dinamico e riuso del codice
- relazione fra binding dinamico, sottotipi, e polimorfismo
- relazioni fra classi: ereditarietà (is-a), composizione (has-a), uso (uses)
- confronto fra ereditarietà e composizione
- confronto fra ridefinizione (overriding) e sovraccarico (overloading) di metodi e campi
- introduzione ai diagrammi di classe
- Programmazione in Java:
- installazione, documentazione, tutorial
- costrutti di base del linguaggio, tipi-base,
- compilazione ed esecuzione di un programma Java
- creazione e inizializzazione di oggetti:
costruttori, inizializzatori, blocchi di inizializzazione di istanza
- assenza di puntatori espliciti, garbage collection
- metodi e campi statici: blocchi di inizializzazione statici
- costruttori ed ereditarietà
- type checking statico, polimorfismo, upcasting e downcasting, binding dinamico
- la classe Object
- visibilità di classi, metodi, e campi
- visibilità ed ereditarietà
- interfacce, metodi astratti e classi astratte, ereditarietà multipla
- arrays in Java, le Collection in Java 2
- il metodo toString()
- strutturazione in package e la variabile di ambiente CLASSPATH
- streams, files e la serializzazione di oggetti
- l'utility javadoc per la generazione automatica della documentazione
- graphic user interface, event-driven programming e l'architettura Model
View Controller (MVC)
|