Contenuti del corso Programmazione ad Oggetti Oggetti, polimorfismo, ereditarieta Metodologie di...

6
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

Transcript of Contenuti del corso Programmazione ad Oggetti Oggetti, polimorfismo, ereditarieta Metodologie di...

Page 1: Contenuti del corso Programmazione ad Oggetti Oggetti, polimorfismo, ereditarieta Metodologie di progetto Astrazione ed incapsulamento ( encapsulation)

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

Page 2: Contenuti del corso Programmazione ad Oggetti Oggetti, polimorfismo, ereditarieta Metodologie di progetto Astrazione ed incapsulamento ( encapsulation)

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

Page 3: Contenuti del corso Programmazione ad Oggetti Oggetti, polimorfismo, ereditarieta Metodologie di progetto Astrazione ed incapsulamento ( encapsulation)

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 ….

Page 4: Contenuti del corso Programmazione ad Oggetti Oggetti, polimorfismo, ereditarieta Metodologie di progetto Astrazione ed incapsulamento ( encapsulation)

Esame

• Esercitazioni e progetti consegna durante il corso discussione orale

• Scritto solo per chi consegna le esercitazioni

Page 5: Contenuti del corso Programmazione ad Oggetti Oggetti, polimorfismo, ereditarieta Metodologie di progetto Astrazione ed incapsulamento ( encapsulation)

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

Page 6: Contenuti del corso Programmazione ad Oggetti Oggetti, polimorfismo, ereditarieta Metodologie di progetto Astrazione ed incapsulamento ( encapsulation)

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