Federico Mena Quintero
federico@gnome.org 2013
C-baserat objekt- och typsystem med signal/slot
Daniel Nylander
po@danielnylander.se 2007
Anders Jonsson
anders.jonsson@norsjovallen.se 2017, 2018

# GObject

GObject är delen av GLib-biblioteket som tillhandahåller ett objekt- och typsystem för C-program. Även om C som ett språk inte tillhandahåller objekt eller klasser så gör GObject det möjligt att skriva objektorienterade C-program.

GObject tillhandahåller en grundläggande GType, basen för hela typsystemet, från vilken typer så som heltal och strängar härleds. Sedan finns det GObject självt, basklassen för alla andra klasser. Objekt kan utstråla signaler för att avisera anroparen när något intressant händer. Till exempel kan ett `Button`-objekt utstråla en signal `clicked` för att indikera att det har tryckts ner och släppts.

GObject är introspekterbart, vilket betyder att du kan fråga GObject-systemet om de klasstyper som är definierade, metoderna de stöder, deras signaler o.s.v. GNOME:s språkbindningar byggs ovanpå denna introspektionsinformation. Istället för att skriva omslag för hand för att låta GNOME-API:er anropas från andra programmeringsspråk så använder språkbindningar introspektionsinformationen från GObject för att själv generera dessa omslag automatiskt.

Du behöver vanligen inte bry dig om GObject självt om du programmerar för GNOME med ett objektorienterat språk. Att göra dig själv bekant med koncepten i GObject, så som signal/slot, kommer dock att göra ditt liv som GNOME-programmerare enklare.

GObject-referenshandbok