Apri/Chiudi


Alcuni concetti base di programmazione ad oggetti

29 maggio 2007 , di Boliboop

apples1.jpgUn po’ per prendere appunti, un po’ perché spero che possa essere utile a qualcun altro, pubblico una serie di definizioni che possono essere utili per chi si approccia, come me, per la prima volta alla programmazione ad oggetti. Beh, veramente lo facevo già una decina di anni fa, quando programmavo in Visual Basic, ma siccome non me ne rendevo conto… ora mi sono messo a studiare un po’ di teoria!

Come vedremo, il problema di definire gli elementi logici della programmazione ad oggetto è che spesso queste definizioni racchiudono riferimenti circolari che rendono il tutto (per fortuna solo apparentemente) un po’ tautologico. Per spiegare i concetti astratti tipici della programmazione ad oggetti, scriverò, sotto ogni definizione, un esempio ispirandomi alla mela che ho ora accanto al computer.

Innanzitutto definiamo un oggetto (object):

L’oggetto è una istanza di una classe.
La mela (oggetto) che ho qui sul tavolo è una (istanza) delle tante mele (classe) che possono esistere.

Anche se non avete capito, memorizzatelo e andiamo avanti, le prossime definizioni vi chiariranno le idee. La definizione di oggetto racchiude due nuove parole, istanza e classe. Vediamo cosa è una classe (class):

La classe è una categoria di oggetti.
Le mele (classe) costituiscono una categoria di prodotti ortofrutticoli (oggetti).

Questo è già più chiaro. Ma veniamo alla definizione di istanza (instance):

L’istanza è l’oggetto considerato rispetto alla classe di appartenenza.
Questa particolare mela che ho sul tavolo (istanza) è un esempio di mela (oggetto) della categoria di prodotti ortofrutticoli chiamati mela (classe).

Ecco invece cosa si intende per variabile d’istanza (instance variables)

Una variabile d’istanza è una variabile associata all’istanza di una classe.
il numero di semi (variabile d’istanza) nella mela è associato alla particolare mela (istanza) che è qui sul tavolo

Infine, cosa sono i metodi? Ecco la definizione:

Un metodo è l’azione che può essere eseguita da (o su) un oggetto.
La mela (oggetto) può marcire (metodo) o essere sbucciata (altro metodo).

Considerazioni finali

In conclusione vorrei sottolineare come l’uso che viene fatto dell’astrazione del concetto di oggetto (e di tutti gli altri concetti che compongono la struttura della programmazione ad oggetti) sia, a mio modo di vedere, molto simile all’astrazione che si incontra in meccanica quantistica. In entrambi i campi di costruisce una teoria fatta di strumenti logici astratti, molti dei quali non hanno nemmeno una interpretazione fisica (o informatica) chiara e definita, ma che vengono egregiamente usati nella realtà delle cose quando l’astrazione viene riportata nell’applicazione pratica. Un percorso dal concreto all’astratto e di nuovo al concreto che possiede un indubbio fascino.

Fonti e approfondimenti:

Articoli correlati:

  1. La mia prima applicazione per Mac
  2. Fare le moltiplicazioni con le linee: dimostrazione
  3. Desktopia: wallpaper a orari programmati

4 Commenti a “Alcuni concetti base di programmazione ad oggetti”

  1. 1

    Antonio ha detto

    Affascinante… la programmazione ad oggetti è quella particolare branca della programmazione le cui definizioni sono facilmente dimenticabili. :)

  2. 2

    Boliboop ha detto

    Bene! Allora questo promemoria è davvero utile :D

  3. 3

    sacha ha detto

    Utilissimo…stampo e metto da parte. Devo integrare informatica all’università, tornerà comodo :wink:

  4. 4

    Boliboop ha detto

    @sacha: ottimo, fammi sapere come va ;)

Lascia un commento



Chiudi
E-mail It