mercoledì 24 marzo 2021

Lab del 24/03/2021 (1 ora + domande): esercizi

 Esercizi sull'ereditarietà: Animali, ListaOrdinataDiInteri, ContoBancario.  


 



Lezione del 23/03/2021 (3 ore, 8-11): polimorfismo

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



venerdì 19 marzo 2021

Lezione del 19/03/2021 (2 ore, 8-10): 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.

martedì 16 marzo 2021

Lezione del 16/03/2021 (8-11, 3 ore): enumerazioni, tipo wrapper, autoboxing e autounboxing, esercizi

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.


sabato 13 marzo 2021

Lezione del 12/03/2021 (2 ore, 8-10): array, incapsulamento, static

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

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.

martedì 9 marzo 2021

Lezione del 09/03/2021 (2.5 ore, 8-10.15): classe String, riferimenti a oggetti, anatomia della memoria, costrutti di decisione e di iterazione

La classe String. Riferimenti e oggetti. Anatomia della memoria: stack e heap. Metodi statici. Lettura dell'input da console: la classe Scanner. Package. Package standard e package di default. La dichiarazione import e la parola chiave package. 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. Esercizi: calcolare le potenze di 2 fino a 2^N.

sabato 6 marzo 2021

Lezione del 05/03/2021 (8-10, 2 ore): politiche di accesso; incapsulamento; String e suoi metodi

Politiche di accesso. Esercizi: la classe Contatore e la classe Menu. La classe String e i suoi metodi.

Lab del 03/03/2021 (1.5 ore + lab): PhraseOMatic, Rettangolo, esercizi su classi e oggetti

PhaseOMatic, Rettangolo, esercizi su classi e oggetti.

Lezione del 02/03/2020 (8-11, 3 ore): classi, oggetti, campi, metodi e costruttori.

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.

Lezione del 26/02/2021 (8-10, 2 ore): panoramica sul corso, tipi di dato, variabili, letterali

Oggi abbiamo completato l'introduzione al corso, fornito una panoramica sugli argomenti principali del corso (oggetti, incapsulamento, ereditarietà, polimorfismo) e parlato di tipi di dato primitivi, variabili, identificatori e letterali. Introduzione a JShell. Operatori aritmetici e booleani, operatori di confronto, operatori di assegnazione. Il main di una classe.

Lab del 24/02/2021 (1.5 ore + lab): JDK, Eclipse, JShell

Installazione di JDK ed Eclipse. Introduzione a JShell. Prima classe NoHelloWorld e compilazione ed esecuzione. HelloWorld.


Lezione del 23/02/2021 (8-11, 3 ore): introduzione al corso

E la prima lezione è andata!!! Abbiamo introdotto il corso, il docente e brevemente il linguaggio Java. Non dimenticatevi di iscrivervi al gruppo di discussione.