Contenuti del corso Programmazione ad Oggetti Oggetti, polimorfismo, ereditarieta Metodologie di...
-
Upload
guglielmo-volpi -
Category
Documents
-
view
217 -
download
3
Transcript of Contenuti del corso Programmazione ad Oggetti Oggetti, polimorfismo, ereditarieta Metodologie di...
Contenuti del corso
• Programmazione ad Oggetti Oggetti, polimorfismo, ereditarieta
• Metodologie di progetto Astrazione ed incapsulamento (encapsulation) Contratti e invarianti Asserzioni e documentazione
• Programmazione ad Eventi Interfacce grafiche
• Programmazione di strutture dati Collections e streams
Week outline
1. Introduzione: oggetti, e introduzione alla programmazione grafica
2. Definizione di classi e progetto di semplici applicazioni grafiche
3. Tipi di dato fondamentali: primitivi, stringhe, array, arraylists
4. Progetto di classi e interfacce, strutturazione in packages. Sottotipi e polimorfismo.
5. Classi interne, programmazione ad eventi e progetto di interfacce grafiche
6. Ereditarietà
7. Pre/post condizioni, design by contract. Asserzioni vs. eccezioni. Invarianti
8. Streams.
9. Un caso di studio
10. Programmazione parametrica e progetto di strutture dati
11. Collections
12. C# e la piattaforma .net / Design Patterns
Libri di testo
• Metodologie di progetto OO Object Oriented Software Development using
in Java (II Edition)
Xiaoping Jia. Pearson Education, 2002
• Java Java Concepts (V Edition)
Cay Horstmann. Wiley & Sons, 2008 ….
Esame
• Esercitazioni e progetti consegna durante il corso discussione orale
• Scritto solo per chi consegna le esercitazioni
Progetti / Homeworks
1. Progetti 2.1 e 2.2 Horstmann
2. Esercizi P3.4, P3.8, Progetti 3.1 e 3.2 Horstmann
3. Esercizi 7.7 e 7.15 Horstmann
4. Cast: compile vs run-time errors
5. Inner classes vs static classes
6. Design Patterns
7. C# e la piattaforma .net
Approfondimenti
1. Costruzione di oggetti, inizializzazione, costruttori annidati, blocchi di inizializzazione
2. Package and protected access.
3. Subtyping, dynamic dispatch, super e static dispatch
4. Overriding e overloading: regole e sottigliezze
5. Cast: compile vs run-time errors
6. Inner classes vs static classes
7. Design Patterns
8. C# e la piattaforma .net