Il principio dell'astrazione

Il termine astrazione indica un processo mentale, attraverso il quale si analizza una specifica realtà o uno specifico contesto, ponendo l'enfasi sulle entità e sulle loro caratteristiche e funzionalità rilevanti, per una specifica esigenza ed ignorando tutto quanto non sia ritenuto rilevante per tale esigenza.

Il principio dell'astrazione ricorre in diverse situazioni, in ambito informatico.

Nell'ambito specifico della programmazione ad oggetti, tale principio viene applicato per individuare le entità rilevanti per realizzare una specifica applicazione, le loro caratteristiche e funzionalità, e le relazioni fra esse.

Vediamo di chiarire meglio il concetto con qualche esempio reale.
Supponiamo di dover realizzare un software per la gestione di apparecchi televisivi.
Una entità che sicuramente dovremo modellare sarà l'entità televisore.

Proviamo ora a pensare alle caratteristiche di un televisore, ad esempio la marca, il modello, la dimensione in pollici, il colore, la tecnologia del display, lo stato (acceso/spento), il canale su cui è sintonizzato, il livello del volume, il livello di contrasto, il livello della luminosità e così via.

Se, invece, volessimo provare a definire delle funzionalità che un televisore deve offrire ad un potenziale utilizzatore, avremmo le funzionalità per accendere e spegnere l'apparecchio, per cambiare il canale, per aumentare o diminuire i livelli di volume, contrasto, colore e luminosità, la selezione della sorgente da visualizzare, l'azzeramento ed il ripristino dell'audio e così via.

Nel pensare a tutto quanto esposto sopra, abbiamo proprio effettuato un processo di astrazione, nel senso che abbiamo posto la nostra attenzione solo sugli aspetti, relativi al contesto in esame, rilevanti per l'applicazione da realizzare.

Abbiamo, infatti, enfatizzato alcuni aspetti ed ignorato altri quali, ad esempio, il tipo di supporto del televisore, il numero e la posizione delle viti per la rimozione del pannello posteriore, le caratteristiche dell'alimentatore, la data di produzione, lo stabilimento di produzione e così via.