Objekt je v informatice označení pro samostatnou datovou entitu. V programování se za objekty považují proměnné, případně konstanty (přinejmenším složené), datové struktury, obvykle též podprogramy a metody, ve speciálních případech též datové typy. Objekt zpravidla zabírá určitý prostor v paměti na nějaké adrese, má nějakou hodnotu a je dosažitelný identifikátorem nebo referencí.

V objektově orientovaném programování (OOP) je objekt entita, která v sobě slučuje datovou část (uchovávající stav) a (často pouze konceptuálně) operace (procedury a funkce, které jsou součástí objektu se zpravidla nazývají metody), které s daty objektu pracují. Datové složky objektu se obvykle nazývají atributy. Mnoho objektově orientovaných jazyků je založeno na konceptu třídy, a objekt v nich je instanci třídy, proto se pojem objektu často zužuje na toto pojetí, existují však objektově orientované jazyky (Haskell, Self), které koncept třídy nemají.

V relačních databázích se termínem objekt označuje tabulka, sloupec nebo asociace mezi daty a určitou databázovou entitou (např. věk určité osoby).

Koncepty spojené s objekty v OOP V krajním případě lze s daty objektu pracovat pouze pomocí metod objektu (getter, setter a pod.), což nazýváme zapouzdření. Podobně lze mluvit i o modifikátorech přístupu.

Objekty zpravidla zavádějí koncept jmenného prostoru – datové atributy různých instancí i různých typů mohou mít stejná jména.

Dalšími často používanými koncepty v objektově orientovaném programování je polymorfismus – různé objekty mohou mít vlastní realizace metod a při volání se konkrétní metoda vybírá podle objektu (obvykle podle typu objektu) a přetěžování () metod (objekt může mít více metod téhož jména a konkrétní metoda se vybírá podle typů a počtu parametrů) a operátorů (lze definovat chování existujících operátorů včetně +, -, *, / a operátoru přiřazení pro objekty a uživatelem definované typy, případně lze i definovat vlastní operátory).

Odkazy

Reference

Související články Objektově orientované programování Třída (programování) Instance třídy Zapouzdření (objektově orientované programování) Polymorfismus (programování) Metoda (objektově orientované programování) Přetěžování

Kategorie:Objektově orientované programování Kategorie:Datové typy Kategorie:Složené datové typy