Informatica e programmazione, Novembre 2021

IL CONCETTO DI OGGETTO NELLA PROGRAMMAZIONE

Le spiegazioni classiche circa la programmazione ad oggetti solitamente generano più dubbi e incertezze di quanti ne risolvano, per cui ho deciso...

Scritto da , · 1 minuto per leggerlo >
black and silver laptop computer on table

Le spiegazioni classiche circa la programmazione ad oggetti solitamente generano più dubbi e incertezze di quanti ne risolvano, per cui ho deciso di accettare la sfida. Prima di tutto dovete mettere da parte ogni vostra conoscenza sulla programmazione procedurale fino alla fine di questo viaggio (e se non ne avete, è ancora meglio), altrimenti vi saranno solo di intralcio. Sarà inoltre importante farsi meno domande possibili sul perché e sul come funzioni quello che vi andrò a spiegare.

Immaginate il vuoto:

Vuoto

Da un certo punto di vista è affascinante, ma può decisamente migliorare. Adesso aggiungiamo un oggetto:

Vuoto con oggetto

Che cos’è quello che abbiamo creato? Per ora è solo un concetto, una definizione; che occupa una parte indeterminata del nostro spazio. A questo punto possiamo dargli un nome. Ma sia ben chiaro che il nome di un oggetto dovrebbe, ma non è detto, rappresentarlo in una maniera che lo renda comprensibile a degli umani collegandolo ad un concetto reale. Dare nei nomi controintuitivi li può infatti rendere di difficile comprensione agli occhi di colleghi o di altri programmatori che ne faranno uso.

Nome poco descrittivo
Nome molto descrittivo

Gli oggetti (da notare l’utilizzo del plurale) sono stati ideati con lo scopo di interagire tra di loro. La loro struttura si può considerare di tipo ricorsivo, in cui ogni oggetto è composto a sua volta da oggetti più piccoli messi in relazione tra loro.

‘A’ è formato da ‘B’ e da ‘C’

In un programma classico l’oggetto più grande di tutti, ovvero quello che comprende tutti gli altri, sarà il programma stesso, che viene definito come un oggetto in grado di far comunicare tutti i suoi sottoposti in modo tale da raggiungere il proprio obiettivo. Il compito di un programmatore sarà dunque quello di scomporre un problema carpendone le caratteristiche principali e successivamente riportandole in uno schema composto da oggetti che, relazionandosi tra loro, risolvano il problema d’origine. Esemplificando, se si deve ricreare digitalmente il famoso gioco degli scacchi, sarà compito del programmatore ideare uno schema in cui, re, regine, alfieri e pedoni, sotto forma di oggetti, interagiscano tra di loro sulla scacchiera per far sì che i giocatori possano trarne una piacevole esperienza.

Se credi di essere affine al metodo di razionalizzazione delle cose e dei fatti che ti ho appena descritto, allora credo che anche tu possa aspirare a diventare un grandioso programmatore. Detto questo, come per tutte le arti a parer mio, chiunque provvisto di un’adeguata forza di volontà possiede già tutte le carte in tavola per farsi largo in un qualsiasi campo artistico o scientifico che sia.