Objetos basados en C y sistema de tipos con señales y «slots»
Daniel Mustieles
daniel.mustieles@gmail.com 2011-2014
Jorge González
jorgegonz@svn.gnome.org 2007-2010
Mario Carrión
mario@monouml.org 2006

# GObject

GObject es parte de la biblioteca GLib que proporciona un sistema de objetos y tipos para programas en C. Aunque C es un lenguaje que no proporciona objetos ni clases, GObject hace que sea posible escribir en C programas orientados a objetos.

GObject proporciona un GType fundamental, la base para todo el sistema de tipos y del que derivan tipos como enteros y cadenas. Por lo tanto, hay un GObject como tal, que es la clase base para todas las demás clases. Los objetos pueden emitir señales para notificar que ha sucedido algo interesante. Por ejemplo, un objeto `Button` puede emitir una señal `clicked` para indicar que se ha pulsado y soltado.

GObject se puede introspeccionar, lo que significa que puede preguntar al sistema de GObject los tipos de clases que están definidas, los métodos que soporta, sus señales, etc. Las vinculaciones de de lenguajes de GNOME se construyen sobre la información de introspección. En lugar de escribir envoltorios a mano para llamar a las API de GNOME desde otros lenguajes de programación, las vinculaciones de los lenguajes usan la información de la introspección de GObject para generar automáticamente los propios envoltorios.

Normalmente no necesita preocuparse de GObject como tal si está programando para GNOME con un lenguaje orientado a objetos. Sin embargo, familiarizarse con los conceptos de GObjetc, como pueden las señales y los «slots» simplificarán su vida como programador.

Manual de referencia de GObject