Introduzione alla Programmazione Orientata agli Oggetti (OOP)
Che cos'è l'OOP e perché è importante
Principi fondamentali della OOP (incapsulamento, ereditarietà, polimorfismo, astrazione)
Ambiente di sviluppo e Installazione
Installazione di Java JDK, useremo la distribuzione Amazon Corretto ( https://aws.amazon.com/corretto/ ) - gratuito
Installazione di un'IDE, useremo IntelliJ IDEA Comunity Edition ( https://www.jetbrains.com/idea/download/ seconda parte della pagina ) - gratuito
Primi passi e "Hello World"
Riassunto della sintassi base di Java
Variabili, tipi di dati e operatori
Strutture di controllo: if, switch, loop
Funzioni
Classi e Oggetti
Definizione di classi e oggetti in Java
Costruttori
Variabili membro e metodi membro
Il riferimento this
Incapsulamento
Definizione e importanza
Modificatori di accesso: private, public, protected
Metodi getter e setter
Ereditarietà
Definizione e scopo dell'ereditarietà
Classe base e classe derivata
Uso di extends
Il costruttore super
Sovrascrittura dei metodi (override)
Polimorfismo
Definizione e benefici del polimorfismo
Sovraccarico dei metodi
Astrazione
Classi astratte e metodi astratti
Differenza tra interfacce e classi astratte
Utilizzo dell'interfaccia con implements
Relazioni tra Classi
Composizione vs. ereditarietà
Associazione, aggregazione, composizione
Gestione delle eccezioni
Che cos'è un'eccezione e perché gestirla
Blocchi try, catch, finally
Creazione di eccezioni personalizzate
Collezioni in Java