Federico Mena Quintero
federico@gnome.org 2013
Заснована на C система об'єктів та типів із сигналами та слотами
Максим Дзюманенко
dziumanenko@gmail.com 2010
Юрій Чорноіван
yurchor@ukr.net 2020

# GObject

GObject є частиною бібліотеки GLib, яка надає у ваше розпорядження систему об'єктів і типів для програм мовою C. Хоча у C, як мові програмування, не передбачено об'єктів і класів, GObject уможливлює написання об'єктно-орієнтованих програм мовою C.

У GObject реалізовано базовий GType — основу усієї системи типів, похідними від якого є інші типи, зокрема цілочисельні та рядкові. Далі, є сам GObject, базовий клас для усіх інших класів. Об'єкти можуть видавати сигнали для сповіщення функції, яка їх викликає, про те, що сталося щось цікаве. Наприклад, об'єкт `Button` може видати сигнал `clicked`, який повідомлятиме, що кнопку було натиснуто і відпущено.

GObject є придатним до інтроспекції, що означає, що ви можете опитати систему GObject щодо типів класів, які визначено, методів, підтримку яких передбачено, їхніх сигналів тощо. На основі цих даних інтроспекції побудовано прив'язки GNOME до мов програмування. Замість написання обгорток для уможливлення викликів програмного інтерфейсу GNOME з інших мов програмування вручну, прив'язки до мов використовують дані інтроспекції з GObject для автоматичного створення цих обгорток.

Зазвичай, якщо ви програмуєте для GNOME об'єктно-орієнтованою мовою, вам не слід перейматися питаннями самого GObject. Втім, знайомство із поняттями GObject, зокрема сигналами і слотами, спростить ваше життя як програміста GNOME.

Довідник-підручник з GObject