Benvenuti al Corso Java!
👋 A chi è rivolto questo corso
Questo corso è progettato per studenti che hanno già esperienza con il linguaggio C e la programmazione procedurale, ma non hanno mai affrontato la Programmazione Orientata agli Oggetti (OOP).
Durante il corso utilizzeremo Eclipse IDE per scrivere, compilare ed eseguire i nostri programmi Java.
🎯 Obiettivi del corso
- Comprendere i concetti fondamentali della programmazione ad oggetti
- Imparare la sintassi e le caratteristiche del linguaggio Java
- Saper creare classi, oggetti e gestire le relazioni tra di essi
- Utilizzare l'ereditarietà, il polimorfismo e le interfacce
- Gestire eccezioni e lavorare con le collezioni
- Sviluppare progetti completi e funzionanti
🔄 Dal C a Java
Conosci già il C? Ottimo! Java mantiene molti concetti che già conosci (variabili, cicli, condizioni), ma aggiunge il paradigma orientato agli oggetti che rende il codice più organizzato, riutilizzabile e manutenibile.
In ogni lezione troverai confronti diretti tra C e Java per facilitare la comprensione!
📘 Modulo 1 - Fondamenti della OOP
Il primo modulo introduce i concetti base della programmazione ad oggetti in Java, partendo dall'installazione di Eclipse fino alla creazione delle prime classi.
Introduzione a Java e OOP
Cos'è Java, differenze con C, installazione Eclipse, primo programma "Hello World"
Classi e Oggetti
Concetti fondamentali: cosa sono classi e oggetti, attributi e metodi, creazione della prima classe
Costruttori e this
Costruttori, overloading, la parola chiave this, inizializzazione degli oggetti
Incapsulamento
Modificatori di accesso (public, private), getter e setter, information hiding
Metodi Statici e Costanti
Membri static, metodi di classe, costanti final, classe Math
📗 Modulo 2 - Concetti Intermedi
Il secondo modulo approfondisce i meccanismi avanzati della OOP come ereditarietà, polimorfismo e gestione di collezioni.
Array e ArrayList
Array in Java, differenze con C, introduzione ad ArrayList e collezioni dinamiche
Ereditarietà
Concetto di ereditarietà, extends, super, gerarchia di classi
Polimorfismo e Override
Polimorfismo, override di metodi, binding dinamico, casting
Classi Astratte
Classi e metodi astratti, quando usarli, esempi pratici
Interfacce
Cosa sono le interfacce, implements, interfacce multiple, confronto con classi astratte
📕 Modulo 3 - Concetti Avanzati
Il terzo modulo copre argomenti avanzati necessari per sviluppare applicazioni complete e robuste.
Gestione delle Eccezioni
Try-catch-finally, tipi di eccezioni, creazione eccezioni personalizzate
Input/Output e File
Lettura e scrittura file, gestione Scanner, BufferedReader, FileWriter
Collezioni: List e Set
Framework Collections, List, Set, iteratori, confronto tra implementazioni
Collezioni: Map
HashMap, TreeMap, chiavi e valori, applicazioni pratiche
Progetto Finale
Sviluppo guidato di un'applicazione completa che utilizza tutti i concetti appresi
💻 Preparazione
Prima di iniziare assicurati di avere:
- Eclipse IDE installato sul tuo PC
- Java Development Kit (JDK) installato
- Un blocco note per appunti
- Voglia di imparare e sperimentare! 🚀