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