Programmazione orientata agli oggetti
Varie / / July 04, 2021
Di Guillem Alsina González, in Ott. 2017
Oltre alle lingue di programmazione, ci sono vari modi o filosofie di approcciarsi alla progettazione di un programma di Software, forme che si riflettono nei diversi linguaggi, che li abbracciano per soddisfare le esigenze di un certo tipo di compiti o di un gruppo di programmatori. Una di queste filosofie è l'orientamento agli oggetti.
La programmazione ad oggetti consiste nel considerare come "oggetti" i temi di interesse della programma, ogni tipo di elemento diverso è definito con i suoi dati e le modalità di trattamento di questi.
Ciò consente, sostanzialmente, di trattare questi oggetti come un tipo di dati in più, su cui applicare metodi e creare costruzioni che eseguiranno calcoli e manipolazioni. Questi nuovi tipi di dati sono costruiti dai tipi di base inclusi nel linguaggio di programmazione e le operazioni sono dichiarate come procedure o funzioni.
Una caratteristica notevole che consente questo modello di sviluppo è la cosiddetta "eredità", che consiste nel creare nuovi oggetti dai precedenti, modificando o ampliando sia i loro attributi che i metodi su cui esercitarsi essi.
Sebbene la programmazione orientata agli oggetti abbia guadagnato popolarità nel mondo della programmazione dalla fine anni '80 e primi anni '90, la verità è che la sua creazione risale a molto più indietro, alla fine degli anni 60.
L'innesco per il successo della programmazione orientata agli oggetti è stata, in larga misura, la divulgazione di ambienti utente grafici come Windows, dal momento che il paradigma facilita notevolmente la creazione di risorse grafica, ricavarli in altre risorse simili (attraverso le suddette eredità) e lavorano con metodi che rispondono alle azioni dell'utente sugli elementi.
Da qui divenne il paradigma dominante, essendo quello utilizzato da un maggior numero di lingue, e il più vincente tra i programmatori, una situazione che dura fino ad oggi.
I diversi tipi di oggetto devono essere dichiarati come classe in un punto iniziale del programma prima di poter istanziare oggetti che appartengono a quella classe.
In questo modo il programma è strutturato in modo comprensibile per chi lo esamina dall'esterno, seguendo una sequenza logica.
Per rendere comprensibili questi concetti, facciamo un esempio: un programma di amministrazione del personale in un'azienda.
Una classe potrebbe essere quella del lavoratore, con attributi quali nome, cognome, numero del sicurezza sociale, posizione, stipendio, ecc. Ogni oggetto istanziato sarebbe un lavoratore diverso. Ad esempio, potremmo creare un elenco per ogni reparto, o un elenco globale di lavoratori, a seconda del modo di gestire e pensare il programma.
I metodi da applicare a questa classe potrebbero essere diversi, come ad esempio "aumento di stipendio", che moltiplicherebbe lo stipendio per una certa percentuale, o assegnare giorni di ferie, che inserirebbero i contrassegni di ferie nel calendario di ciascun lavoratore, che differiranno tra i lavoratori per poter godere turni.
Questa classe poteva dare origine, per via ereditaria, ad una nuova classe denominata "borsisti", che non aveva un attributo come lo stipendio, ma uno o più legati alla formazione, stato I requisiti legali dei tirocinanti potrebbero obbligare l'azienda a formarli.
Negli anni sono emersi molti linguaggi di programmazione che abbracciano apertamente il paradigma orientato agli oggetti come modo di lavorare.
Il linguaggio più noto è forse il C++, che conferisce al C tradizionale una patina orientata agli oggetti.
Esistono però altri linguaggi, anche molto conosciuti, che seguono lo stesso paradigma orientato agli oggetti, come Java, Visual Basic .NET (sviluppato da Microsoft), Objective-C (utilizzato principalmente nei sistemi Apple) e linguaggi ampiamente utilizzati nelle applicazioni Internet come Ruby, Python, Perl o PHP.
Foto: Fotolia - RMS164 / Sentavio
Argomenti nella programmazione orientata agli oggetti