Objektas (programavimas)

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
Peršokti į: navigaciją, paiešką

Objektas – unikalus duomenų rinkinys, atitinkantis to objekto klasėje aprašytą struktūrą, dažnai vadinamas klasės egzemplioriumi (angl. instance). Su objektu taip pat susietas jo klasėje aprašytas funkcionalumas. Klasės metodai manipuliuoja jos duomenimis tam tikru būdu.

Pagal objektiškai orientuoto programavimo principus tiesioginė prieiga prie objekto duomenų turi būti kiek galima labiau apribota, o visos duomenų keitimo ir nuskaitymo operacijos būtų atliekamos iškviečiant jo metodus (operacijas). Šis principas vadinamas inkapsuliacija. Tokiu būdu užtikrinamas duomenų vientisumas ir suderinamumas.

Realus objekto pavyzdys galėtų būti „Vikipedija“, kuris yra duomenų tipo (klasės) „Internetinė enciklopedija“ objektas, ši klasė būtų klasės „Enciklopedija“ poklasis. Polimorfizmas leidžia naudoti ne tik klasės „Internetinė enciklopedija“ metodus (pvz., „ieškoti pagal tekstą“), bet ir bendresnės klasės „Enciklopedija“ metodus (pvz., „skaityti straipsnį“). Kai kurie bendresnės klasės metodai gali būti neprieinami (pvz., „puslapių skaičius“, nes elektroninės enciklopedijos neskaičiuojamos puslapiais).

Objektą apibrėžia:

  1. Tapatybė – savybė, atskirianti objektą nuo kitų. Daugelio objektų grupių kiekvienas objektas unikalus, tačiau kitais atvejais (matricos, teksto eilutės) tą patį turinį (vidinę būseną) turintys objektai laikomi vienodais. Kai kuriose programavimo kalbose (pvz., Java), tapatybė apibrėžiama to objekto identifikatoriumi, kuris realizuojamas kaip vienas iš jo atributų.
  2. Būsena – konkretaus objekto duomenys.