next up previous
Nächste Seite: Delegationen und Abhängigkeiten zwischen Aufwärts: Objekt-Modelle von Bibliotheken Vorherige Seite: Klassenbezogene Ereignisse

Zuordnung von Abstraktionen an Objekte

In den klassischen objekt-orientierten Programmiersprachen werden alle von einem Objekt unterstützten Abstraktionen und alle Komponenten (seien sie nun öffentlich oder privat) zum Zeitpunkt des Kreierens in Abhängigkeit der angegebenen Klasse (oder Typs) festgelegt. Bei single inheritance sind damit die unterstützten Abstraktionen auf eine einzelne Klasse und deren Serie von Basisklassen beschränkt, während hingegen bei multiple inheritance noch die Möglichkeit besteht, (ggf. mit Hilfe einer Typerklärung) beliebig viele Abstraktionen simultan zu unterstützen. Allerdings sind später nach der Kreation keine Änderungen mehr möglich.

Es gibt jedoch auch Techniken, die Unterstützung weiterer Abstraktionen später zuzulassen:

Wenn es den Unterschied zwischen statisch und dynamisch zugeordneten Abstraktionen gibt, führt dies typischerweise auch dazu, daß beide Arten von Abstraktionen unterschiedlich sprachlich erfaßt werden. Entsprechend ist es dann notwendig, schon bei der Entwicklung einer Abstraktion zu entscheiden, ob sie statisch (primär) oder dynamisch (sekundär) einem Objekt zugeordnet werden soll.

Während eine statische Zuordnung auch eine statische Sicherheit und weitgehende Überprüfbarkeit durch den Compiler gewährleistet, ist dies bei dynamischen Zuordnungen nicht sichergestellt, so daß offen ist, welche dynamischen zuzuordnenden Abstraktionen von einem Objekt tatsächlich unterstützt werden. Entsprechend ist es analog zu Typentests sinnvoll, Testoperationen innerhalb der Bibliothek zu offerieren, die überprüfen, ob ein Objekt eine bestimmte Abstraktion unterstützt.5.5


next up previous
Nächste Seite: Delegationen und Abhängigkeiten zwischen Aufwärts: Objekt-Modelle von Bibliotheken Vorherige Seite: Klassenbezogene Ereignisse
Andreas Borchert 2000-12-18