Objekt (informatika)
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).[1]
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í (anglicky overloading) 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
V tomto článku byl použit překlad textu z článku Object (computer science) na anglické Wikipedii.
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í