Federico Mena Quintero
federico@gnome.org 2013
Objekty a typy v jazyce C se signály a sloty
Lucas Lommer
llommer@svn.gnome.org 2009.
Marek Černocký
marek@manet.cz 2015.

# GObject

GObject je součástí knihovny GLib a poskytuje systém objektů a typů pro programy v jazyce C. Ačkoliv C jako programovací jazyk namá objekty a třídy, GObject zavádí možnost psát objektově orientované programy v jazyce C.

GObject poskytuje základní kámen v podobě GType, ze kterého vychází celý systém, včetně třeba odvozených celočíselných a řetězcových typů. Pak je zde vlastní GObject, základní třída pro všechny ostatní třídy. Objekty mohou vysílat signály, aby oznámili příjemcům, že se událo něco zajímavého. Například objekt `Button` může vyslat signál `clicked`, aby sdělil, že byl zmáčknut nebo uvolněn.

GObject je introspektivní, což znamená, že se může dotazovat systému GObject na to, které typy tříd jsou definovány, které metody jsou podporovány, na jejich signály atd. Vazba na různé jazyky nad těmito introspektivními informacemi je v GNOME zabudována. Místo, abyste ručně psali nadstavby, které budou volat API GNOME z jiných programovacích jazyků, používá vazba na jazyky introspektivní informace z GObject pro automatické generování obalujících funkcí sama osobě.

Jestli programujete pro GNOME v některém z objektových jazyků, nepotřebujete se normálně o GObject starat. Avšak, pokud konceptu GObject dobře porozumíte, např. fungování signálů a slotů, bude se vám pro GNOME programovat snáze.

Referenční příručka knihovny GObject