Corso riguardante i principi base della programmazione in generale e in particolare sulla Programmazione Orientata agli Oggetti (OOP)
Obiettivi del corso (descrizione sintetica)
Obiettivo del corso è dare le basi delle tecniche di programmazione. Verranno illustrati i concetti fondamentali di algoritmi e delle strutture dati e tutti i più importanti costrutti presenti in tutti i linguaggi di programmazione moderni.
Dopodichè si passerà ad illustrare i principi della programmazione orientata agli oggetti (OOP).
Nel corso verranno svolte numerose esercitazioni pratiche per verificare e applicare quanto spiegato teoricamente.
Programma del corso (moduli)
-
Introduzione e cenni storici
Il Pannello Action
-
Tecniche di Programmazione
Strategie di programmazione: l’evoluzione fino alla OOP
-
Concetti Basilari di OOP
- Rappresentazione della realtà: la programmazione ad oggetti come modello della realtà
- Metodi e proprietà: le informazioni e le azioni che caratterizzano un oggetto
- Le Classi: Distinguere tra astratto e concreto: classi e istanze
- I Messaggi: Stabilire la comunicazione tra gli oggetti
- Relazioni tra classi: Una applicazione: una piattaforma di classi
-
I capisaldi della Programmazione ad Oggetti
- “Pensare” Object Oriented: Introduzione al paradigma Object Oriented
- L’incapsulamento: Per usare un oggetto non serve sapere come è fatto
- L’ereditarietà: Dall’estensione dei concetti alla riusabilità.
- Il polimorfismo: Azioni diverse associate ad un solo metodo
- L’astrazione: Cosa sono e a cosa servono metodi e classi astratte
- La visibilità: Contesti di visibilità (scope) di metodi e proprietà
- Il singleton: Il ruolo della visibilità nei rapporti tra classi
-
Nozioni avanzate
- L’Ereditarietà multipla: Creare un’unica istanza della classe in un programma
- Le Interfacce: Riusare aspetti diversi da classi diverse
- Coesione e accoppiamento: L’alternativa all’ereditarità multipla
-
Principi di progettazione
- Il Processo di sviluppo in OOP: Dimensionare opportunamente le classi