<aside> <img src="notion://custom_emoji/899aa73c-260f-813c-baa9-0003a270e9e6/29eaa73c-260f-8057-931f-007a0ac7402b" alt="notion://custom_emoji/899aa73c-260f-813c-baa9-0003a270e9e6/29eaa73c-260f-8057-931f-007a0ac7402b" width="40px" />
Indice
</aside>
Finora hai probabilmente scritto codice in modo “procedurale”: hai dato al computer una lista di istruzioni da eseguire, una dopo l’altra, magari organizzandole in funzioni. Questo approccio funziona bene per compiti semplici, ma quando i programmi diventano grandi e complessi (come un videogioco), gestirli diventa molto difficile.
La Programmazione a Oggetti (in inglese Object-Oriented Programming, o OOP) è un modo diverso di pensare e organizzare il codice. Invece di concentrarsi sulle procedure (le istruzioni), ci si concentra sui dati e sui comportamenti che agiscono su quei dati.
L’idea di base è semplice: guardiamo al mondo reale. Il mondo è pieno di “oggetti”: una persona, un’auto, un personaggio in un gioco di ruolo o un videogioco, un’arma. Ognuno di questi oggetti ha delle caratteristiche (dati) e sa fare delle azioni (comportamenti).
I giochi di ruolo, come Dungeons & Dragons, si prestano molto bene nel fornire una metafora per comprendere la programmazione ad oggetti e allenarsi a metterla in pratica:
L’OOP ci permette di modellare questi “oggetti” del mondo reale (o del nostro gioco) direttamente nel nostro codice. Invece di avere tante variabili e funzioni separate (una per i punti vita del giocatore, una per i punti vita del mostro, una funzione attacca_mostro, una funzione attacca_giocatore...), creiamo un “pacchetto” unico che contiene tutto ciò che serve.
Questo approccio rende il codice:
Weapon).Player.<aside> <img src="notion://custom_emoji/899aa73c-260f-813c-baa9-0003a270e9e6/2b0aa73c-260f-80d5-bc4b-007a28c4ca94" alt="notion://custom_emoji/899aa73c-260f-813c-baa9-0003a270e9e6/2b0aa73c-260f-80d5-bc4b-007a28c4ca94" width="40px" />
In questo percorso di Informatica, non ci limiteremo a imparare la teoria. Applicheremo ogni nuovo concetto della Programmazione a Oggetti (OOP) per costruire, passo dopo passo, un progetto pratico: “Code Combat”.
Inizieremo creando le classi base per un’arma e un giocatore, per poi espandere il progetto con nuove funzionalità, come l’ereditarietà (mostri, eroi, maghi), la gestione di inventari, l’uso di pozioni e la gestione degli errori.
Ogni dispensa teorica ti fornirà gli strumenti per affrontare la parte successiva del progetto pratico.
</aside>
I due concetti fondamentali dell’OOP sono la classe e l’oggetto. È cruciale capire la differenza.
Una classe è il progetto o lo stampo per creare un oggetto. Non è l’oggetto reale, ma la definizione di come quell’oggetto sarà fatto.