
La
programmazione orientata oggetto consiste nel modellizzare "informaticamente" un insieme di elementi di una parte del mondo reale (che viene detta
dominio) in un insieme di entità informatiche. Queste entità informatiche sono dette
oggetti. Si tratta di dati informatici che raggruppano le principali caratteristiche degli elementi del mondo reale (dimensione, colore, ecc.).
L'approccio oggetto è un'idea che ha ormai dato i sui frutti.
Simula è stato il primo linguaggio di programmazione ad implementare il concetto di
classi nel 1967. Nel 1976,
Smalltalk implementa i concetti di incapsulamento (
encapsulation), aggregazione e eredità (ossia i principali concetti dell'approccio oggetto). Inoltre, numerosi linguaggi orientati oggetti sono stati attuati con uno scopo universitario (
Eiffel,
Objective C,
Loops, ecc.).
La difficoltà di questa modelizzazione sta nel creare una rappresentazione astratta, sotto forma di oggetti, di entità con un'esistenza materiale (cane, macchina, lampadina, ecc.) oppure virtuale (sicurezza sociale, tempo, ecc.). Un oggetto è caratterizzato da più nozioni:
Gli attributi, si tratta di dati che caratterizzano l'oggetto. Sono delle variabili che immagazzinano delle informazioni di stato sull'oggetto;
I metodi (detti talvolta
funzioni membri), i metodi di un oggetto caratterizzano il suo comportamento, cioè l'insieme delle azioni (dette
operazioni) che l'oggetto stesso realizza. Queste operazioni fanno reagire l'oggetto alle sollecitazioni esterne (o di farlo agire su altri oggetti). Inoltre, le operazioni sono strettamente legate agli attributi, dato che le loro azioni possono dipendere dai valori degli attributi, oppure modificarli;
L'identità, l'oggetto ha un'identità, che permette di distinguerlo dagli altri oggetti, indipendentemente dal suo stato. Questa identità viene generalmente costruita mediante un ID dipendente dalla natura del problema (ad esempio un prodotto potrà essere individuato da un codice, un'automobile da un numero di serie, ecc.).
Foto: © Pixabay.