Αντικείμενο και σύστημα τύπου με σήματα και υποδοχές με βάση τη C
Δημήτρης Σπίγγος
dmtrs32@gmail.com 2012, 2013, 2014
Τζένη Πετούμενου
epetoumenou@gmail.com 2010

# GObject

GObject είναι το μέρος της βιβλιοθήκης GLib που παρέχει ένα αντικείμενο και σύστημα τύπου για προγράμματα C. Αν και η C ως γλώσσα δεν παρέχει αντικείμενα ή κλάσεις, η GObject κάνει δυνατή την συγγραφή αντικειμενοστραφών προγραμμάτων C.

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

Η GObject είναι αυτοελέγξιμη, που σημαίνει ότι μπορείτε να ρωτήσετε το σύστημα GObject για τους τύπους κλάσης που ορίζονται, τις μεθόδους που υποστηρίζουν, τα σήματά τους, κλπ. Οι σύνδεσμοι γλώσσας του GNOME δομούνται πάνω από αυτή την πληροφορία αυτοελέγχου. Αντί για συγγραφή συσκευαστών με το χέρι για να επιτρέψετε τα APIs GNOME να κληθούν από άλλες προγραμματιστικές γλώσσες, οι σύνδεσμοι γλώσσας χρησιμοποιούν την πληροφορία αυτοελέγχου από την GObject για να δημιουργήσουν αυτόματα αυτούς τους ίδιους τους συσκευαστές.

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

Εγχειρίδιο αναφοράς GObject