programmazione a oggetti
programmazione a oggetti o, più propriamente, programmazione orientata agli oggetti (Object Oriented Programming), è un’evoluzione dei linguaggi di → programmazione modulare. Essa concentra in un unico tipo di dato astratto detto classe sia le strutture dei dati, o attributi, sia le funzioni e le procedure operanti su esse, dette metodi. L’oggetto rappresenta perciò un’istanza della classe, in quanto fa riferimento sia a particolari proprietà fornite dai dati sia ai metodi, cioè alle procedure operanti sugli oggetti di quella classe. Questa caratteristica prende il nome di incapsulamento: è permesso accedere ai dati incapsulati (contenuti) nell’oggetto solo attraverso i metodi definiti. Quindi, attraverso l’interfaccia è possibile conoscere il funzionamento dell’oggetto e le sue interazioni con gli altri oggetti, ma non sapere come ciò avvenga; ciò rende robusta e stabile la programmazione a oggetti, essendo questi trattati solo dall’esterno. Una proprietà importante degli oggetti è l’ereditarietà: essa permette di costruire nuove classi di oggetti derivandole da quelle vecchie, modificandone i metodi per adattarli alla nuova classe. I linguaggi di programmazione orientati agli oggetti più diffusi sono C++ (→ C), e → Java; essi, pur gestendo tutta la complessità della programmazione a oggetti, usano tali strutture per le sole entità decise dal programmatore e per quelle predefinite appartenenti al sistema operativo nel quale agiscono, rimanendo comunque linguaggi strutturati modulari ordinari, che operano quindi anche sui tipi di dati elementari come numeri reali, stringhe alfanumeriche, insiemi, valori booleani.