Titolo insegnamento in inglese: Object Orientation
Lingua: italiano
Insegnamento: Object Orientation
Anno di corso: II
CFU: 6
Semestre: 1
Docenti:
- Canale 1: Sergio Di Martino
- Canale 2: Porfirio Tramontana
Insegnamenti propedeutici previsti
Programmazione
Obiettivi Formativi
Acquisizione delle competenze di base per la progettazione object-oriented attraverso la comprensione dei concetti di astrazione sui dati, di incapsulamento dell’informazione, di coesione e accoppiamento, e di riutilizzo del codice; comprensione delle differenze tra paradigma object-oriented e il paradigma procedurale, conoscenza del linguaggio java per la definizione di classi e per la promozione del riutilizzo del software capacità di applicare conoscenza e comprensione delle principali abilita (ossia la capacita di applicare le conoscenze acquisite) saranno: analisi di problemi, specifica dei requisiti e definizione di una strategia risolutiva con un approccio orientato agli oggetti, con la sua implementazione nel linguaggio java, garantendo il giusto equilibrio tra qualità ed efficienza del software.
Contenuti
La programmazione orientata agli oggetti; concetti di astrazione dei dati e di incapsulamento; Progettazione di classi. Concetti di coesione e accoppiamento; Ereditarietà e riuso; Interfacce, classi astratte e polimorfismo; UML: Class Diagrams e Sequence Diagrams; Introduzione a Java, alla JVM e al JDK; Oggetti, variabili, riferimenti; classi e metodi, costruttori, comunicazione fra oggetti, parametri espliciti e impliciti; il riferimento this; Tipi di dati fondamentali. Classi Object e String; Meccanismi di ‘autoboxing’ e ‘unboxing’; Accenni di gestione delle Eccezioni; Le collezioni in Java: List e sue implementazioni. For generico (for each); Design pattern: Iterator, Observer, Strategy, Composite; Programmazione di interfacce grafiche ad eventi. Le Swing.
Modalità didattiche
Lezioni frontali. Esercitazioni.
Modalità di esame
L'esame si articola in prova solo scritta.
La prova scritta è a risposta libera, con esercizi numerici e progetto.