GObject

The GLib Object System, or GObject, is a free software library providing a portable object system and transparent cross-language interoperability. GObject is designed for use both directly in C programs to provide object-oriented C-based APIs and through bindings to other languages to provide transparent cross-language interoperability.

Read more about GObject:  History, Relation To GLib, The Type System, Messaging System, Class Implementation, Usage, Comparisons To Other Object Systems