next up previous contents index
Weiter: 2.7 Getaggte Typen Hinauf: 2 TypenKlassen Zurück: 2.5 Private Typen

2.6 Limitierte Typen

   

In Ada kann man einen Record-Typ auch als limitiert deklarieren. Damit erreicht man, daß es nicht möglich ist, einer Variablen dieses Typs einen Wert mittels der gewöhnlichen Zuweisung zuzuweisen. Außerdem ist dann die gewöhnliche Vergleichsoperation unterbunden, das heißt, man kann zwei Objekte eines limitierten Typs nicht mehr auf Gleichheit überprüfen. Vielmehr müssen dann Operationen vom Programmierer angeboten werden, mit denen Zuweisung und/oder Vergleich realisiert werdengif. Ein Beispiel ist

type t is limited
record
a: integer;
end record;

v1, v2: t;

Dann sind etwa

v1 := v2;

und

if v1 = v2 then ...

nicht erlaubt und produzieren einen Fehler beim Compilieren.

Daher kennt Ada zusätzlich zu den private types  , wie der oben angeführte, für die die für sie definierten Operationen und die vordefinierten Operationen der Zuweisung und der Gleichheit und Ungleichheit gelten, dann auch noch sogenannte limited private types   (dabei würde limited in obigem Programm-Code zwischen den Schlüsselwörtern is und private stehen), bei denen die vordefinierten Operationen der Zuweisung und der Gleichheit und Ungleichheit ihre Gültigkeit verlieren. Näheres dazu findet sich im Kapitel 7.1.



Johann Blieberger
Wed Feb 11 09:58:52 MET 1998