Federico Mena Quintero
federico@gnome.org 2013

This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.

За виняткових обставин власники авторських прав можу надати вам дозвіл копіювати, змінювати і розповсюджувати приклади коду, що містяться у цьому документі, за довільних умов, без обмежень.

Заснована на 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