Blame platform-overview/cs/tech-gobject.page

Packit 1470ea
Packit 1470ea
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" id="tech-gobject" xml:lang="cs">
Packit 1470ea
  <info>
Packit 1470ea
    <link type="guide" xref="tech" group="gobject"/>
Packit 1470ea
Packit 1470ea
    <credit type="author copyright">
Packit 1470ea
      <name>Federico Mena Quintero</name>
Packit 1470ea
      <email its:translate="no">federico@gnome.org</email>
Packit 1470ea
      <years>2013</years>
Packit 1470ea
    </credit>
Packit 1470ea
Packit 1470ea
    <include xmlns="http://www.w3.org/2001/XInclude" href="cc-by-sa-3-0.xml"/>
Packit 1470ea
Packit 1470ea
    <desc>Objekty a typy v jazyce C se signály a sloty</desc>
Packit 1470ea
  
Packit 1470ea
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
Packit 1470ea
      <mal:name>Lucas Lommer</mal:name>
Packit 1470ea
      <mal:email>llommer@svn.gnome.org</mal:email>
Packit 1470ea
      <mal:years>2009.</mal:years>
Packit 1470ea
    </mal:credit>
Packit 1470ea
  
Packit 1470ea
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
Packit 1470ea
      <mal:name>Marek Černocký</mal:name>
Packit 1470ea
      <mal:email>marek@manet.cz</mal:email>
Packit 1470ea
      <mal:years>2015.</mal:years>
Packit 1470ea
    </mal:credit>
Packit 1470ea
  </info>
Packit 1470ea
Packit 1470ea
<title>GObject</title>
Packit 1470ea
Packit 1470ea
  

GObject je součástí knihovny <link xref="tech-glib">GLib</link> 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.

Packit 1470ea
Packit 1470ea
  

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.

Packit 1470ea
Packit 1470ea
  

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ě.

Packit 1470ea
Packit 1470ea
  

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.

Packit 1470ea
Packit 1470ea
  <list style="compact">
Packit 1470ea
    <item>

<link href="http://developer.gnome.org/gobject/stable/">Referenční příručka knihovny GObject</link>

</item>
Packit 1470ea
  </list>
Packit 1470ea
Packit 1470ea
</page>