venerdì 27 marzo 2020

Lezione del 27/03/2020 (Google meet, 3 ore): polimorfismo e 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: clone, equals, getClass, hashCode, toString. Sovrascrivere i metodi toString, equals e clone.


lunedì 23 marzo 2020

Lezione del 23/03/2020 (Google meet, 2 ore): ereditarietà

Una lezione molto molto importante sull'ereditarietà: abbiamo introdotto il concetto di ereditarietà, di classi e metodi astratti, parole chiave this e super nei costruttori. Funzionamento dei costruttori nella gerarchia di ereditarietà. Differenza tra overriding e overloading. Visibilità di campi e metodi: pubblica, privata, protetta e di package.

venerdì 20 marzo 2020

Lezione del 20/03/2020 (Google meet, 3 ore): incapsulamento; static; enumerazioni; classi wrapper; auto-boxing e auto-unboxing

Vantaggi dei metodi e dell'incapsulamento. Metodi e campi statici: modalità di accesso dall'interno e dall'esterno della classe. Perché il main() è static? Importazione statica di campi e metodi.
Enumerazioni. Esempio: SemeCarta e ValoreCarta. Dichiarazione di una enumerazione. Costruttori, campi e metodi di un'enumerazione. I metodi values e valueOf. Enumerazioni e switch.
Autoboxing (vedi immagine sotto :-)), auto-unboxing. Classi wrapper e metodi e costanti delle classi wrapper. Confrontare valori di tipi primitivi vs. oggetti vs. valori di enumerazioni. Esercizi su heap & stack.


lunedì 16 marzo 2020

Lezione del 16/03/2020 (Google meet, 8.30-10, 2 ore): gli array

Gli array. Definizione, inizializzazione, accesso agli elementi, lunghezza di un array. Matrici mediante array di array. Esercizio su heap & stack.

venerdì 13 marzo 2020

Lezione del 13/03/2020 (Google meet, 8.30-11.00, 3 ore): strutture di controllo condizionali e iterative

Strutture di controllo: if, else, il problema dell'else sospeso, else if, operatore di selezione ?, istruzione switch. Esercizi: estrazione del carattere centrale, saluto casuale. Introduzione ai costrutti iterativi: while, do..while, for. Le istruzioni break e continue.

lunedì 9 marzo 2020

Lezione del 09/03/2020 (Google meet, 8.30-11.30, 3 ore): String e suoi metodi; riferimenti & oggetti; heap & stack.

Politiche di accesso. Esercizi: la classe Contatore e la classe Menu. La classe String e i suoi metodi. Riferimenti e oggetti. Anatomia della memoria: stack e heap. Metodi statici.


martedì 3 marzo 2020

Lezione del 02/03/2020: classi, oggetti, campi, metodi e costruttori. L'operatore new.

Consapevolezza del tipo di dato. Conversione esplicita, cast esplicito, cast implicito.
Concetti fondamentali di programmazione orientata agli oggetti: classi vs. oggetti, campi e metodi (inclusi i costruttori). L'operatore new. Esercizi: la classe Contatore.