- ...
übernimmt,2.1
-
In Eiffel sind alle Klassen implizit von ANY abgeleitet.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
anzuheften:2.2
-
Das folgende Beispiel setzt natürlich voraus,
daß Figures.Figure eine Erweiterung von Disciplines.Object ist.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
Speicher3.1
-
In Oberon gibt es kein Hauptprogramm.
Daher wird zu Beginn der Ausführung eines Programms
festgestellt, welche Module vorhanden sind.
Dieses Verfahren setzt voraus, daß
die Objekte (übersetzte Module) alle hintereinander im
Speicher liegen und durch ein
spezielles Objekt beendet werden.
Bei der Verwendung fremder Objekte bestünde die Gefahr,
daß sie zwischen den Oberon-Modulen angeordnet würden.
Dies würde zum sofortigen Absturz führen.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... wird.5.1
-
Dies ist eine minimalistische Definition, da nichts über
Methoden und andere OO-Techniken gesagt wird. Sie hilft
jedoch bei den hybriden Programmiersprachen wie z.B. C++.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... verweisen.5.2
-
Falls nie ein schwergewichtiger Zeiger auf ein Objekt gesetzt
wird, bleibt ein Objekt ebenfalls leben. Auf diese Weise
ist der Umgang mit schwergewichtigen Zeigern nur dort notwendig,
wo kooperative Mechanismen erforderlich sind.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... Weise5.3
-
Semantisch identisch heißt, daß ohne Bruch der Abstraktionsgrenzen
kein Unterschied festzustellen ist.
Das heißt, daß einzelne verborgene Komponenten durchaus
unterschiedlich sein können.
Wenn beispielsweise sich hinter dem Objekt ein Dateideskriptor
auf eine bestimmte Datei verbirgt, kann dieser durchaus
einen unterschiedlichen Wert haben und trotzdem auf die
gleiche Datei verweisen.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... ist),5.4
-
Beispiele hierzu gibt es unter
http://www.mathematik.uni-ulm.de/sai/ws00/oolib/zb/events.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... unterstützt.5.5
-
In der Ulmer Oberon-Bibliothek geschieht dies durch Services.Installed.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... Objekten.5.6
-
Eine kurze Übersicht über die Variationen auf diesem Feld liefert
die Antwort zur Frage 1.4 in den FAQ zu comp.object, zu finden unter
http://www.cyberdyne-object-sys.com/oofaq/oo-faq-S-1.4.html.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...Services.Object5.7
-
Die Motivation für den Namen Services folgt in Kürze.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... basiert:5.8
-
Das Beispiel ist in vollständiger Form unter
http://www.mathematik.uni-ulm.de/sai/ws00/oolib/zb/Collections-14/
zu finden.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... Keedy6.1
-
Mehr dazu unter
http://www.informatik.uni-ulm.de/abt/rs/staff/projects/monads/PersistentVMemoryE.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... ist.6.2
-
Hinweis: Diese Definition ist nicht allgemeingültig und nur
bei reinen Bibliothekslösungen sinnvoll, da beispielsweise
bei dem Monads-System keine Konvertierungen oder Transfers
notwendig sind.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... voraus.6.3
-
Es gibt Lösungen, die nur mit Modulen als 1st class objects
auskommen, wenn pro Modul nur ein persistenter Typ definiert wird.
Jedoch führt ansonsten prinzipiell kein Weg daran vorbei.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... aus:6.4
-
Der Programmtext ist den Beispielen Collections-14
(noch ohne Persistenz auf direkter Basis von Services.Object
und Collections-16 (mit Persistenz) entnommen - zu finden unter
http://www.mathematik.uni-ulm.de/sai/ws00/oolib/zb/Collections-14/ und
http://www.mathematik.uni-ulm.de/sai/ws00/oolib/zb/Collections-16/.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...Collections-166.5
-
Zu finden unter
http://www.mathematik.uni-ulm.de/sai/ws00/oolib/zb/Collections-16/.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.