next up previous
Nächste Seite: Lebenszyklus von Objekten Aufwärts: all Vorherige Seite: Werkzeuge zur Generierung

Objekt-Modelle von Bibliotheken

Objekte sind alle Instanzen in einer Programmiersprache, die dynamisch kreiert werden können und auf die typischerweise mittels Zeiger explizit (oder implizit, aber immer noch der der Zeigersemantik folgend) zugegriffen wird.5.1Sowohl durch die Programmiersprache als auch durch eine Bibliothek werden eine Reihe von Grundeigenschaften für Objekte festgelegt, die unabhängig von einzelnen Abstraktionen sind und daher die gesamte Bibliothek und den Umgang damit festlegen.

Allerdings ist es in einigen Fällen garnicht so einfach festzustellen, inwieweit die Programmiersprache bzw. ein Compiler Eigenschaften vorgibt und inwiefern sie durch die Bibliothek realisiert werden. Bei Eiffel gibt es die Klasse ANY, von der per Sprachdefinition alle anderen Klassen abgeleitet sind. Darüberhinaus existieren einige Klassen, die wie normale Klassen aus der Bibliothek aussehen, jedoch nur virtuell bestehen, da keine zugehörigen Quellen existieren und die Unterstützung direkt vom Compiler geleistet wird. Dies gilt z.B. für die Klasse ARRAY bei ISE Eiffel, um die bei konventionellen Programmiersprachen gewohnte Effizienz für Arrays zu gewährleisten, obwohl sie nicht unmittelbar in der Programmiersprache definiert sind.

Diese Unterscheidung ist dann nicht mehr so relevant, wenn die Programmiersprache bzw. deren zugehörige Compiler und die grundlegenden Bibliotheken (kernel libraries) als natürliche Einheit betrachtet werden. Allerdings muß dann auch ggf. die gesamte Einheit standardisiert werden und nicht nur ein Teil davon. Dies wird jetzt beispielsweise für Java versucht.

Zusammenfassend unter dem Begriff Objekt-Modell sollen hier alle Eigenschaften und Techniken präsentiert werden, die für alle (oder fast alle) Objekte relevant sind, beginnend vom Lebenszyklus der Objekte, allgemein verfügbarer Operationen, Ausnahmenbehandlungen (insbesondere, wenn sie objekt-bezogen sind), die Verknüpfung von Objekten mit Abstraktionen (statisch und/oder dynamisch), Delegationen, Abhängigkeiten bis hin zu Typen als Objekte (1st class objects). Sie gehören in Ergänzung zur Programmiersprache zu dem Grundwortschatz, der von jedem Anwender vollständig zu erkennen und erlernen ist, bevor an erste Entwicklungen zu denken ist.



Unterabschnitte
next up previous
Nächste Seite: Lebenszyklus von Objekten Aufwärts: all Vorherige Seite: Werkzeuge zur Generierung
Andreas Borchert 2000-12-18