Appunti di metodologie di programmazione A.A 2023/2024
Questo programma è una guida introduttiva alla programmazione a oggetti utilizzando il linguaggio Java. Copre i seguenti argomenti:
- Tipi di dato fondamentali
- Conversioni di tipo
- Concetti fondamentali di programmazione orientata agli oggetti
- Incapsulamento e inizializzazione di default
- La classe String
- Riferimenti a oggetti, heap & stack, metodi statici
- Strutture di controllo; costrutti iterativi
- Iterazione; array
- Costanti ed enumerazioni
- Ereditarietà, classi e metodi astratti. Le parole chiave this e super nei costruttori
- Overloading e overriding. Visibilità: public, private, protected e default.
- Ereditarietà vs. composizione.
- Polimorfismo. Downcasting e upcasting.
- La classe Object
- La parola chiave final.
- Interfacce. Differenze con le classi astratte. Ereditarietà multipla. Interfacce notevoli.
- Programmazione funzionale: interfacce funzionali ed espressioni lambda. Riferimenti a metodi.
- Stream ed espressioni lambda.
- Classi top-level, annidate statiche e interne
- Introduzione alla modularizzazione Java 9
- Eccezioni: try-catch-finally. Politica catch-or-declare. Parole chiave throw e throws. Le classi Throwable, Exception ed Error. Eccezioni checked e unchecked.
- Collezioni: gerarchia, classi fondamentali e loro metodi.
- Collezioni: insiemi e mappe senza ordinamento, con ordinamento naturale e con ordinamento di inserimento. Metodi. Classi Arrays Collections. La classe pila Stack e l'interfaccia coda Queue. Implementazione mediante LinkedList
- Tipi generici.
Questo programma fornisce una panoramica completa dei concetti di base della programmazione a oggetti utilizzando Java. Ogni argomento è trattato in modo dettagliato e sono forniti esempi di codice per illustrare i concetti.
- JRE (Java Runtime Environment)
- JDK (Java Development Kit)
- IDE (Integrated Development Environment)
Sono benvenuti i contributi a questo progetto. Se hai suggerimenti, correzioni o nuovi argomenti da aggiungere, fai una fork del repository, apporta le modifiche e invia una pull request.
Per ulteriori informazioni sulla programmazione a oggetti in Java, puoi consultare le seguenti risorse:
- Documentazione ufficiale di Java: https://docs.oracle.com/javase/
- Slides del professore
- Libro consigliato: Concetti di informatica e fondamenti di Java" di Cay S. Horstmann
Questo programma è distribuito con la licenza MIT.