Objekto (programifo)

En informatiko, **objekto** es simbolala ed autonoma kontenilo qua kontenas informi e mekanismi pri temo, manipulati en programo. La temo es ofte ulo di tushebla dil reala mondo, . Ico es la centrala koncepto dil objekt-orientizita programifo.

En objekt-orientizita programifo, objekto kreesas de modelo nomizita klaso o prototipo, de qua olu heredas la konduti e la traiti. La konduti e la traiti tipe apogesas sur la propri al kozi qui inspirabas l'objekto: persono (kun olua civil stando), dokumentaro, produkturo.

## Historio
La nociono di objekto introduktesis kun la programifo-linguo Simula, kreita a Oslo inter 1962 e 1967 por faciligar la programifo di programi di simulado. Kun ica programifo-linguo, la traiti e la konduti dil objekti a simular deskriptesas en la fontokodexo (*source code*).

La linguo di objekt-orientizita programifo Smalltalk kreesis da la centro di exploro Xerox ye 1972. 

L'objekt-orientizita programifo divenis populara ye 1983 kun l'ekiro dil programifo-linguo C++, objekt-orientizita linguo, e l'uzado di olu volate similesas al populara linguo C.

L'unesma objekt-orientizita datumari komercaligesis ye 1993, e lia teknologio ne arivis a matureso ante la fino dil 20ma yarcento.

La linguo di objekt-orientizita programifo Java kreesis da Sun Microsystems ye 1995, e precipue destinesis al programifo dil reto-aplikaji, la teknologio di olu esis en plena evoluciono dum la yari 1990.

## Terminaro
; Klaso : klaso es deskripturo dil traiti di un o di multa objekti. Singla objekto kreita de ica klaso es "instanco" (*intance*) dil traktata klaso.
; Prototipo : Prototipo es deskripturo di objekto, qua uzesos por krear altra objekti per kopio (programifo apogata sur prototipi).
; Metodo : metodo es serio di komandi qui manipulas la traiti e la stando di objekto.
; Proprajo : Proprajo, anke nomizata "feldo" (*field*) o "attributo", es traito propra a donata objekto.
; Stando : La stando di objekto es olua formo a donata instanto, quale dekriptata da la valori dil ensemblo di olua propraji.
; Heredo : Klaso heredas traiti di altra se olua defino fondesas sur l'altra. En tala kazo olua instanci uzas komune la traiti dil duo klasi. On parolas alora pri "subklaso" e "superklaso".
; Polimorfismo : Esas polimorfismo (per subtipizo) kande existas multa subklasi di sama superklaso e singla posedas olua propra varianto di sama metodo.

En ula objekt-orientizita lingui, la metodi, la propraji e la stando di objekto es manipulabla de altra objekti unike se li explicite deklaresas quale *public*. Ico es la mekanismo di **[[enkapsulaciono (programifo)|enkapsulaciono]]**.

## Uzado
Inter la diversa teknologii qui gravitas cirkum la objekti, esas la lingui di objekt-orientizita programifo e la datumari objekt-orientizita. La nociono di objekto egale uzesas en la programifo di kompozanti di programaro ed anke en la koncepto di programaro.

Objekt-orientizita datumaro permisas la permananta provizuro di objekti, al helpo di sistemo di direktado di datumaro ed adaptata programifo-linguo.

La Object Management Group es internaciona konsorto di normalizado e di susteno dil teknologii apogata sur la objekti.

Kreita da la Object Management Group, CORBA es normo relativa al arkitekturo di programi qui kambias su kun objekti.

Kreita da la World Wide Web Consortium, la Document Object Model es normo relativa al manipulo dil elementi di reto-pagino per linguo di objekt-orientizita programifo quale JavaScript.

### L'objekt-orientizita programifo
L'objekt-orientizita programifo es skribo-stilo dil fontokodexo, propra ad ula programifo-lingui. En ica stilo, la fontokodexo es serio di deskripturi di klasi o di prototipi, kun la deskripturo di lia traiti ("propraji") e di lia konduti ("metodi"). Smalltalk, Python, Java e C++ es lingui di objekt-orientizita programifo.

## Noti e referi