OOP. Un esempio concreto per spiegare il concetto di Programmazione ad Oggetti.

Menu

Cosa significa Programmazione ad Oggetti?

Torna alle news
13/06/2016
Programmazione

Programmazione ad Oggetti: cosa significa?


La programmazione ad oggetti (Object Oriented Programming, in breve OOP) è un nuovo modo di concepire la programmazione, un modo di ragionare astratto che ti permette di immaginare il codice anzichè scriverlo per come si è sempre fatto con i linguaggi procedurali.


L'OOP è incentrato sul concetto di Oggetto e di Classe.

Un programma scritto con questo paradigma è organizzato in una collezione di oggetti, appartenenti a determinate classi, definiti e costruiti dal programmatore, aventi attributi e capacità di compiere azioni, che interagiscono tra loro inviandosi dei messaggi.


Che cos'è un Oggetto?

Cerchiamo ora di capire che cos'è un oggetto.
Per farti comprendere meglio ti farò un esempio pratico con ciò che ci circonda. Prendiamo in esame qualcosa della vita reale: i nostri notebook.
Il mio da cui sto scrivendo e il tuo che stai utilizzando per leggere, e cerchiamo di descriverli con le loro qualità e capacità.
Il mio è un MacBook grigio del 2015 con 8 giga di ram che equipaggia OSX come sistema operativo, il tuo invece è un notebook Asus nero del 2016 con 4 giga di ram e sistema operativo Windows.

Il mio può inviare mail, navigare su internet, riprodurre musica ma è poco adatto per il gaming mentre il tuo riesce ad eseguire le stesse cose del mio notebook ma in più è idoneo per videogiocare.
Quindi abbiamo definito alcune proprietà (attributi e funzionalità) dei nostri portatili.
E proprio questa possibilità di racchiudere e definire i nostri computer con delle proprietà che li rende un oggetto.
Ricapitolando, quindi, un oggetto è un qualcosa che possiede delle proprietà, intese come l'insieme di attributi (marca, colore, memoria, ecc...) e funzionalità (inviare mail, navigare, giocare, ecc..).

Cosa si intende per Classe?

I nostri computer pur differendo in qualche proprietà appartengono alla stessa categoria: portatili o laptop.
Queste categorie prendono appunto il nome di Classi.
La Classe dunque è una specie di stampo da cui prendono forma gli Oggetti, ereditando gli attributi e le funzionalità definite nella creazione della Classe.
La rappresentazione dell'oggetto a partire dalla sua classe madre prende il nome di istanza della classe.
Tornando al nostro esempio la classe è "Portatile" che racchiude tutti gli attributi e le funzionalità che conosciamo di un computer portatile, mentre la sua istanza (l'oggetto) sono il mio e il tuo laptop.

Quindi è la classe a definire tutti gli attributi e le funzionalità di un oggetto, mentre quest'ultimo una volta istanziato li erediterà.
Per comprensione qui ho preferito parlare prima di oggetto e poi di classe, ma durante la scrittura di un programma ovviamente prima va definita la classe e poi sulla base di questa vanno create le sue istanze (oggetti).

oop_object_programming


Conclusioni

Un linguaggio di programmazione cosi strutturato permette di creare un programma scrivendo molto meno codice di quello che servirebbe con un linguaggio procedurale.
Se per esempio volessimo creare un' icona rettangolare per l'interfaccia grafica della nostra applicazione, dovremo prima creare la classe icona e poi da questa istanziare l'icona rettangolare; questo oggetto "icona rettangolare" una volta creato potrà essere riutilizzato in altre parti del programma senza dover riscrivere il codice ma solo invocandolo nuovamente (in gergo "puntando" all'oggetto). Nei linguaggi procedurali invece per fare la stessa cosa avremmo dovuto riscrivere tutto il codice ogni volta che avessimo avuto necessità di quell'icona.

Metti un like

Vuoi saperne di più? Contattaci subito!

Privacy Policy
Ho letto e autorizzo il trattamento dei miei dati personali.


Invia

Non perderti le nostre news

Privacy Policy
Ho letto e autorizzo l'invio della newsletter.