<?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="el">
  <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>Ως ειδική εξαίρεση, οι πνευματικοί ιδιοκτήτες σας επιτρέπουν να αντιγράψετε, να τροποποιήσετε και να αναδιανείμετε τα παραδείγματα πηγαίου κώδικα που περιλαμβάνονται σ' αυτό το έγγραφο υπό τους όρους της επιλογής σας, χωρίς περιορισμό.</p>
</license>

    <desc>Αντικείμενο και σύστημα τύπου με σήματα και υποδοχές με βάση τη C</desc>
  <credit type="translator copyright"><name>Ελληνική μεταφραστική ομάδα GNOME</name><email>team@gnome.gr</email><years>2010-2014</years></credit><credit type="translator copyright"><name>Δημήτρης Σπίγγος</name><email>dmtrs32@gmail.com</email><years>2012-2014</years></credit><credit type="translator copyright"><name>Τζένη Πετούμενου</name><email>epetoumenou@gmail.com</email><years>2010</years></credit><credit type="translator copyright"><name>Μάριος Ζηντίλης</name><email>m.zindilis@dmajor.org</email><years>2010</years></credit><credit type="translator copyright"><name>Μαρία Θουκυδίδου</name><email>marablack3@gmail.com</email><years>2014</years></credit><credit type="translator copyright"><name>Θάνος Τρυφωνίδης</name><email>tomtryf@gnome.org</email><years>2014</years></credit></info>

<title>GObject</title>

  <p>GObject είναι το μέρος της βιβλιοθήκης <link xref="tech-glib">GLib</link> που παρέχει ένα αντικείμενο και σύστημα τύπου για προγράμματα C. Αν και η C ως γλώσσα δεν παρέχει αντικείμενα ή κλάσεις, η GObject κάνει δυνατή την συγγραφή αντικειμενοστραφών προγραμμάτων C.</p>

  <p>Η GObject παρέχει έναν θεμελιακό GType, τη βάση για όλο το σύστημα τύπου, από το οποίο τύποι όπως ακέραιοι και συμβολοσειρές παράγονται. Έπειτα, υπάρχει το ίδιο το GObject, η βασική κλάση για όλες τις άλλες κλάσεις. Τα αντικείμενα μπορούν να εκπέμψουν <em>σήματα</em> για να ειδοποιήσουν τον καλούντα όταν κάτι ενδιαφέρον συμβαίνει. Για παράδειγμα, ένα αντικείμενο <code>κουμπί</code> μπορεί να εκπέμψει ένα σήμα <code>πατημένο</code> για να δείξει ότι έχει πατηθεί και ελευθερωθεί.</p>

  <p>
    GObject is <em>introspectable</em>, which means that you can ask the
    GObject system for the class types that are defined, the methods they
    support, their signals, etc.  GNOME's language bindings are built on top of
    this introspection information.  Instead of writing wrappers by hand to let
    GNOME APIs be called from other programming languages, language bindings
    use the introspection information from GObject to auto-generate those
    wrappers themselves.
  </p>

  <p>Κανονικά δεν χρειάζεται να ασχολείστε με τις ίδιες τις GObject αν προγραμματίζετε για το GNOME με μια αντικειμενοστραφή γλώσσα. Όμως, η εξοικείωσή σας με έννοιες της GObject, όπως σήματα και υποδοχές, θα διευκολύνει τη ζωή σας ως προγραμματιστή του GNOME.</p>

  <list style="compact">
    <item><p><link href="http://developer.gnome.org/gobject/stable/">Εγχειρίδιο αναφοράς GObject</link></p></item>
  </list>

</page>
