www.wikidata.de-de.nina.az
GObject ist eine unter der freien Lizenz LGPL veroffentlichte Programmbibliothek und ein Framework das objektorientiertes Programmieren in der Programmiersprache C ermoglicht und auf vielen Plattformen einsetzbar ist GObjectGObject Beispielcode Hinzufugen der Eigenschaft file size zu einer Klasse BasisdatenEntwickler Das GTK TeamErscheinungsjahr 2002Aktuelle Version 2 60 1 15 April 2019 Betriebssystem Unix Windows OS 2 BeOSProgrammiersprache CKategorie ProgrammbibliothekLizenz LGPLdeutschsprachig neinwww gtk org Inhaltsverzeichnis 1 Beschreibung 2 Geschichte 3 Einsatz 4 Literatur 5 WeblinksBeschreibung BearbeitenDer Ansatz von GObject entspricht dem von Objective C das fur Anwendungsentwicklung unter macOS siehe Cocoa verwendet wird GObject ist das Fundament aller GTK Gnome Anwendungen und die Basisklasse aller GTK Gnome Klassen GObject hangt lediglich von der libc siehe Standard C Library glibc sowie der GLib ab GObject stellt weitere Funktionalitaten wie Events Boxing von Datentypen Fehlerbehandlung und das Referenzzahlen bereit Objekttypen werden erst zur Laufzeit registriert Damit wird eine gute Introspektion der Klassen ermoglicht allerdings auf Kosten einer starken Typsicherheit Die Objektorientierung bei GObject ermoglicht im Gegensatz zu C keine Mehrfachvererbung Stattdessen werden Interfaces wie bei Java oder C eingesetzt Eine Klasse in GObject wird durch mindestens zwei C Strukturen implementiert Eine davon beinhaltet die Informationen der Klasse zum Beispiel die Methoden VTable und statische Membervariablen Die zweite beinhaltet als Instanzinformationen zum Beispiel die Membervariablen Es gibt keine Zugriffsmodifikatoren public protected private wie in den Programmiersprachen C Java oder C private Klassen Member konnen aber durch zusatzliche verborgene C Strukturen implementiert werden Diese privaten Strukturen werden nicht in den offentlichen Header Dateien der Klasse definiert Bei der Erstellung einer GObject Klasse mussen viele Makros und Initialisierungsfunktionen manuell geschrieben werden Zur Erleichterung beim Schreiben von Klassen gibt es das Werkzeug GOB2 GObject Builder welches eine von Java entlehnte Syntax anbietet GOB2 fungiert als Praprozessor welcher aus den Objektvorlagen Code fur den C Compiler generiert Eine Alternative zu GOB2 stellt die Programmiersprache Vala Genie dar welches neben dem Codegerust auch in der Lage ist den gesamten Quelltext aus C ahnlicher Sprache zu ubersetzen Wichtige Einschrankungen des GObjekt Frameworks sind die fehlende Unterstutzung von Namensraumen keine Moglichkeit zum Uberladen von Operatoren und Methoden sowie die rein manuelle Ausnahmebehandlung Geschichte BearbeitenUrsprunglich war das Objektsystem von GTK eng mit der Benutzerschnittstelle von GTK verwoben Erst zur Version 2 0 von GTK Gnome wurde es in ein eigenes Framework ausgelagert damit dieses Objektsystem auch ohne Einbindung von GTK fur beispielsweise reine kommandozeilengesteuerte Anwendungen und Serveranwendungen ohne grafische Benutzeroberflache verwendet werden kann Einsatz BearbeitenDie Kombination von C und GObject wird in vielen erfolgreichen Open Source Projekten eingesetzt allen voran GTK und damit schliesslich dem kompletten Gnome Desktop sowie GIMP Pango und vielen anderen Literatur BearbeitenDas GTK GNOME Entwickler Handbuch Matthias Warkus 2008 dpunkt verlag Fundierte Einfuhrung in GObject Implementierung in Kapitel dreiWeblinks BearbeitenGObject API Dokumentation englisch GOB2 GObject Builder englisch Vala Project GObject Praprozessor und Programmiersprache englisch Abgerufen von https de wikipedia org w index php title GObject amp oldid 237545044