Java 17 Object-Oriented Programming
What you'll learn
- Conoscere in profondità la grammatica e la sintassi del linguaggio di programmazione Java 17
- Conoscere ed utilizzare il paradigma object-oriented
- Conoscere la struttura generale della Java Virtual Machine e del Bytecode
- Conoscere il significato di "Oggetto" e di "Concetto"
- Comprendere le fasi della compilazione di un programma Java
- Conoscere ed utilizzare i Tipi Primitivi, le Variabili e le Costanti
- Conoscere ed utilizzare gli Operatori Aritmetici, di Incremento/Decremento, gli Operatori Logici e Relazionali
- Conoscere ed utilizzare le Conversioni di Tipo
- Conoscere ed utilizzare il Control Flow (if/else, switch, while, do/while, for loops, break e continue)
- Conoscere ed utilizzare le Classi, le Interface, le Enumeration
- Conoscere ed utilizzare i membri di una classe (Attributi, Metodi, Costruttori)
- Conoscere ed utilizzare l'Overload, l'Override ed il Polimorfismo
- Conoscere ed utilizzare gli array (monodimensionali e multidimensionali) e le Stringhe
- Conoscere ed utilizzare l'Ereditarietà, le Classi Astratte ed i Metodi Astratti
- Conoscere ed utilizzare i Package
- Conoscere ed utilizzare le Lambda Expression ed i Method Reference
- Conoscere ed utilizzare i Java Modules
- Conoscere ed utilizzare i Record
- Conoscere ed utilizzare le Sealed Class e le Sealed Interface
Requirements
- Conoscenza base del sistema operativo (Mac, Linux, Windows) e utilizzo del terminale
- La conoscenza di base di un linguaggio di programmazione può aiutare ma non è richiesta.
Description
Questo corso è una vera guida rapida, teorica e pratica, che ti condurrà passo dopo passo a conoscere in profondità il linguaggio di programmazione JAVA SE 17 ed il Paradigma Object-Oriented.
La prima sezione del corso, che ti offro come bonus, è una sorta di corso nel corso... Imparerai infatti in modo approfondito il Paradigma Object-Oriented in tutti i suoi aspetti principali, secondo un percorso che ho ricavato dai miei (ahimè) moltissimi anni di esperienza sul campo come object-oriented analyst e designer. Le capacità che acquisirai nelle lezioni teoriche di questa prima sezione sono valide anche per qualunque altro linguaggio object-oriented, come Python, C#, Swift, C++.
Attraverso un percorso guidato, poi, impareremo cosa sono la Java Virtual Machine ed il Bytecode, ed eseguiremo subito una esercitazione guidata per scrivere un primo programma in Java.
Impareremo poi ad utilizzare i Primitive Types, le Espressioni e gli Operatori.
Impareremo a dichiarare le Variabili e le Costanti
Passeremo poi in rassegna tutti gli elementi del Control Flow (i test condizionali, i loop, i salti incondizionati).
Impareremo poi, nella sezione centrale del corso, tutti gli aspetti legati alla Programmazione Object-Oriented in Java:
Le Classi
La definizione dei Metodi e degli Attributi
I Membri di Istanza e di Classe
I Membri Pubblici e Privati
La differenza tra Primitive Type e Reference Type
I Costruttori
Il meccanismo dell'Overload (la prima forma di Polimorfismo)
Le Inner Classes e gli "static blocks"
Gli Array Monodimensionali, Multidimensionali, e la classe String
La gestione dell'Ereditarietà
La gestione dei Record
La gestione delle Sealed Class e delle Sealed Interface
Il meccanismo dell'Override (la seconda forma di Polimorfismo)
I Metodi e le Classi Astratte
La classe Object
Le Interface, assieme ai metodi di default, privati ed alle costanti
Le Annotations
Le Enumerations
Successivamente, impareremo assieme a strutturare i programmi Java in Package, ed a gestire le Exceptions. Comprenderemo poi i Type Wrappers, l'Autoboxing e l'Auto-Unboxing.
Affronteremo poi i Generics, le Lambda Expressions, ed i Method References.
Ed infine, impareremo a strutturare ulteriormente i Package all'interno dei Java Modules.
Who this course is for:
- Sviluppatori principianti che desiderano imparare a programmare attraverso il linguaggio di programmazione Java
- Sviluppatori, principianti o esperti, che desiderano apprendere i principi della programmazione Object-Oriented
- Sviluppatori che desiderano imparare il linguaggio di programmazione Java SE 17
Instructor
Mi chiamo Alessandro Bemporad. Sono un software engineer con oltre 30 anni di esperienza nel settore dell'Information Technology. Ho lavorato per molti anni come developer, come business analyst, poi come software architect, e infine come Technical Manager in grandi aziende di IT.
Nel 2019 ho fondato e lavoro in Artebinaria, un'azienda che realizza soluzioni di augmented reality su piattaforme Apple, e di cloud computing.
Negli anni, mi sono occupato di progettazione e sviluppo di sistemi software di grandi dimensioni, nei settori Banking, Healthcare e Industria, ed ho gestito moltissimi team di sviluppo. Ho progettato e sviluppato sistemi software in molti linguaggi di programmazione ed ambienti di sviluppo, come Java, Python, C/C++, C#, Ruby e Go. Ho tenuto per anni corsi di Object-Oriented Analysis & Design e di Advanced Java presso grandi aziende, e presso Oracle University.
Ho anche utilizzato per molti anni modelli di gestione dei progetti agili, come Scrum e Kanban.
E' un mio desiderio poter trasmettere la mia esperienza attraverso corsi di sviluppo del software, dedicati a chi si avvicina adesso a questo mondo, oppure a chi vuole approfondire gli aspetti di quello che è già il proprio lavoro.