Objecto (informatica)

In informatica, un **objecto** es un spatio symbolic e autonome qui contine informationes e mechanismos concernente un subjecto, manipulate in un programma. Le subjecto es sovente alque de tangibile del mundo real, . Isto es le concepto central del programmation orientate a objectos.

In programmation orientate a objectos, un objecto es create a partir de un modello appellate classe o prototypo, del qual illo heredita le comportamentos e le characteristicas. Le comportamentos e le characteristicas es typicamente basate super le cosas qui ha inspirate le objecto: un persona (con su stato civil), un dossier, un producto.

## Historia
Le notion de objecto ha essite introduite con le linguage de programmation Simula, create a Oslo inter 1962 e 1967 a fin de facilitar le programmation de programmas de simulation. Con iste linguage de programmation, le characteristicas e le comportamentos del objectos a simular es describite in le codice fonte.

Le linguage de programmation orientate a objectos Smalltalk ha essite create per le centro de recerca Xerox in 1972. 

Le programmation orientate a objectos es devenite popular in 1983 con le exito del linguage de programmation C++, un linguage orientate a objectos, e le uso de illo resimila voluntarimente al popular linguage C.

Le prime bases de datos orientate a objectos ha essite commercialisate in 1993, e lor technologia non ha arrivate a maturitate ante le fin del seculo 20.

Le linguage de programmation orientate a objectos Java ha essite create per Sun Microsystems in 1995, e esseva ante toto destinate al programmation del applicationes web, le technologia de illo esseva in plen evolution durante le annos 1990.

## Terminologia
; Classe : Un classe es un description del characteristicas de un o de plure objectos. Cata objecto create a partir de iste classe es un *[[instantia (programmation)|instantia]]* del classe in question.
; Prototypo : Un prototypo es un description de un objecto, qui essera usate pro crear altere objectos per clonage. Vide programmation basate sur prototypos.
; Methodo : Un methodo es un suite de instructiones qui manipula le characteristicas e le stato de un objecto.
; Proprietate : Un proprietate, anque nominate "campo" (*field*) o "attributo", es un characteristica proprie a un objecto donate.
; Stato : Le stato de un objecto es su forma a un instante donate, como describite per le valores del ensemble de su proprietates.
; Hereditage : Un classe *heredita* characteristicas de un altere si su definition es fundate sur le altere. In tal caso su instantias usa in commun le tractos del duo classes. On parla alora de "subclasse" e "superclasse".
; Polymorphismo : Il ha polymorphismo (per subtypage) quando il existe plure subclasses de un mesme superclasse e cata un possede su proprie variante de un mesme methodo. 

In alcun linguages orientate a objectos, le methodos, le proprietates e le stato de un objecto es manipulabile a partir de alteres objectos unicamente si illos es explicitemente declarate como *public*. Isto es le mechanismo de **[[encapsulation (informatica)|encapsulation]]**.

## Usage
Inter le diverse technologias qui gravita circa le objectos, il ha le linguages de programmation orientate a objectos e le bases de datos orientate a objectos. Le notion de objecto es equalmente usate in le programmation de componentes de programmas e anque in le conception de programmatura.

Un base de datos orientate a objectos permitte le immagazinage permanente de objectos, al adjuta de un systema de gestion de base de datos e un linguage de programmation adaptate.

Le Object Management Group es un consortium international de normalisation e de susteno del technologias basate sur le objectos.

Create per le Object Management Group, CORBA es un norma relative al architectura de programmas qui se excambia con objectos.

Create per le World Wide Web Consortium, le Document Object Model es un norma relative al manipulation del elementos de un pagina web per un linguage de programmation orientate a objectos como JavaScript.

### Le programmation orientate a objectos
Le programmation orientate a objectos es un stilo de scriber del codice fonte, proprie a alcun linguages de programmation. In iste stilo, le codice fonte es un suite de descriptiones de classes o de prototypos, con le description de lor characteristicas ("proprietates") e de lor comportamentos ("methodos"). Smalltalk, Python, Java e C++ es linguages de programmation orientate a objectos.

## Referentias