Справочное описание GObject |
---|
Большинство современных языков программирования идут с собственной объектной системой и дополнительными базовыми языковыми алгоритмическими конструкциями. Так же как GLib предоставляет реализацию таких базовых типов и алгоритмов (связанные списки, хэш таблицы и т.д.), объектная система GLib Object System обеспечивает необходимую реализацию гибкой, расширяемой и преднамеренно лёгкой (для других языков) объектно-ориентированной оболочки (framework) для C. Подытожить обеспечиваемые существенные элементы можно так:
Родная система типов для регистрации произвольных прямых наследников и глубоко унаследованных типов а также интерфейсы для структурных типов. Она отвечает за создание, инициализацию и управление памятью различных объектов и классовых структур, поддерживает взаимоотношения родитель/наследник и всё что связанно с динамической реализацией таких типов. То есть, их типо-специфичная реализация является перераспределяемой/не загружаемой в течение выполнения.
Коллекция реализованных базовых типов, таких как integers, doubles, enums и структурные типы.
Простая реализация базового типа для основной объектной иерархии - базовый тип GObject.
Система сигналов которая позволяет очень гибкую пользовательскую настройку виртуальных/перезаписываемых объектных методов и может служить как мощный механизм уведомления.
Расширяемая система параметр/значение, поддерживает все обеспечиваемые базовые типы, которая может быть использована для общей обработки объектных свойств или иначе параметризованных типов.