giovedì 9 aprile 2015

Lezione del 09/04/2015: le collection (1)

Le Collection. Gerarchia delle interfacce di tipo Collection: Iterable, Collection, List, Set, SortedSet, Queue. Tre modi per iterare su una collezione. L'interfaccia Iterator. Esempio: il Jukebox. Collezioni fondamentali: ArrayList, LinkedList, HashSet, TreeSet, HashMap, LinkedHashMap, TreeMap. Metodi di ogni collezione. ListIterator e il metodo listIterator. Esempi di uso di HashSet e TreeSet. Funzionamento di un HashSet: il metodo hashCode. HashMap e TreeMap: l'interfaccia Map. L'interfaccia Comparable. Ordinamento con l'interfaccia Comparator. Insiemi e mappe con elementi (o chiavi) senza ordinamento, con ordinamento naturale e con ordinamento di inserimento. I metodi keySet, values e entrySet di Map. Espressioni lambda per specificare il Comparator. Riferimenti a metodi.

mercoledì 8 aprile 2015

Lab 08/04/2015: annullato

Il laboratorio di oggi annullato causa prolungamento inatteso di lavori all'interno.

mercoledì 1 aprile 2015

Lab 01/04/2015: esercizi

Esercizio su interfaccia Resettabile. Esercizio Filtro, FiltroIntero, FiltroPrimo, FiltroDispari, MultiFiltro con gestione delle eccezioni. Rendere iterabile una stringa (con iterator come classe interna). Rendere iterabile un treno (con iterator di vagoni ripreso dall'iterator della lista). Rete sociale e Utenti.


martedì 31 marzo 2015

Lezione 31/03/2015: classi annidate e interne; classi anonime; espressioni lambda

Classi interne: classi top-level, classi annidate e interne. Classi anonime. Espressioni lambda. Esercizio: lista linkata con classi interne (provate a farlo con add in coda ottimizzato).


giovedì 26 marzo 2015

Lezione 26/03/2015: interfacce; esercizio con Iterable e Iterator; for "each"

Interfacce in Java: dichiarazione, implementazione. Esempio: Iterabile. Differenza tra interfacce e classi astratte. Ereditarietà multipla: il problema del diamante. Interfacce notevoli. Esercizio: MyString con Iterator e Iterable. Istruzione for "each"

mercoledì 25 marzo 2015

Lab 25/03/2015: esercizi

ContoBancario e Operazione (in versione Java 7 e Java 8). Espressioni. Debugging con Eclipse.


martedì 24 marzo 2015

Lezione 24/3/2015: Polimorfismo e classe Object

Polimorfismo: definizione, esempi e casistiche. Esempi: la classe Impiegato, ImpiegatoStipendiato e ImpiegatoACottimo. La parola chiave super per accedere a metodi e campi della superclasse. L'operatore instanceof. Downcasting e upcasting: differenze ed effetti sull'interfaccia pubblica. La classe universale Object e i suoi metodi principali. Sovrascrivere i metodi toString, equals e clone.


giovedì 19 marzo 2015

Lezione 19/03/2015: ereditarietà (2)

Overriding e overloading. Differenza tra ereditarietà (is-a) e composizione (has-a). Esercizi: BarraDiEnergia e BarraDiEnergiaConPercentuale. Come creare il livello di uno sparatutto con 4 righe di codice.


18/03/2015: ci siamo messi alla prova!

Ho dimenticato di "farvi la foto"... questi sono i vostri colleghi dell'anno scorso: