Programmazione orientata agli oggetti: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 9:
==Storia==
Il concetto di '''classe''' può essere considerato l'erede del [[w:tipo di dato astratto|tipo di dato astratto]], una tendenza che si è sviluppata all'interno del paradigma della [[w:programmazione procedurale|programmazione procedurale]], secondo la quale un [[w:Modulo (programmazione)|modulo]] dovrebbe implementare un [[w:tipo di dato|tipo di dato]] definito dall'utente, con cui si possa interagire solo attraverso una [[w:interfaccia|interfaccia]] ben definita, che nasconda agli altri moduli i dettagli dell'implementazione, in modo che sia possibile modificarli contenendo gli effetti della modifica sul resto del programma.
La classe può essere vista come il costrutto che permette di realizzare questa astrazione con un supporto strutturato da parte del linguaggio.Non è finito qua inoltre la programmazione non è altro che la programmazione.
 
Il primo linguaggio di programmazione orientato agli oggetti fu il [[w:Simula|Simula]] ([[w:1967|1967]]), seguito negli [[w:Anni 1970|anni '70]] da [[w:Smalltalk|Smalltalk]] e da varie estensioni del [[w:Lisp|Lisp]]. Negli [[w:Anni 1980|anni '80]] sono state create estensioni orientate ad oggetti del linguaggio [[w:C (linguaggio)|C]] ([[w:C++|C++]], [[w:Objective C|Objective C]], e altri), e di altri linguaggi ([[w:Object Pascal|Object Pascal]]). Negli [[w:Anni 1990|anni '90]] è diventato il paradigma dominante, per cui gran parte dei linguaggi di programmazione erano o nativamente orientati agli oggetti o avevano una estensione in tal senso.
Oggi i linguaggi più usati tra quelli che supportano solo il paradigma di programmazione orientata agli oggetti sono Smalltalk ed [[w:Eiffel (linguaggio)|Eiffel]]. Tuttavia sono linguaggi in generale poco usati.