<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" id="tech-gobject" lang="sv">
  <info>
    <link type="guide" xref="tech" group="gobject"/>

    <credit type="author copyright">
      <name>Federico Mena Quintero</name>
      <email its:translate="no">federico@gnome.org</email>
      <years>2013</years>
    </credit>

    <license xmlns="http://projectmallard.org/1.0/" href="http://creativecommons.org/licenses/by-sa/3.0/us/">
<p>This work is licensed under a
<link href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons
Attribution-Share Alike 3.0 United States License</link>.</p>
<p>Som ett speciellt undantag, ger upphovsrättsinnehavarna dig tillåtelse att kopiera, modifiera och distribuera exempelkoden som finns i detta dokument under de villkor som du väljer, utan restriktioner.</p>
</license>

    <desc>C-baserat objekt- och typsystem med signal/slot</desc>
  <credit type="translator copyright"><name>Daniel Nylander</name><email>po@danielnylander.se</email><years>2007</years></credit><credit type="translator copyright"><name>Anders Jonsson</name><email>anders.jonsson@norsjovallen.se</email><years>2017, 2018</years></credit></info>

<title>GObject</title>

  <p>GObject är delen av <link xref="tech-glib">GLib</link>-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.</p>

  <p>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 <em>signaler</em> för att avisera anroparen när något intressant händer. Till exempel kan ett <code>Button</code>-objekt utstråla en signal <code>clicked</code> för att indikera att det har tryckts ner och släppts.</p>

  <p>GObject är <em>introspekterbart</em>, 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.</p>

  <p>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.</p>

  <list style="compact">
    <item><p><link href="http://developer.gnome.org/gobject/stable/">GObject-referenshandbok</link></p></item>
  </list>

</page>
