Typen-Tests

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

*Wenn ein Zeiger oder Variablenparameter gegeben ist, dann sind zwei Typen damit assoziiert: der statisch bekannte Typ und der dynamische Typ (d.h. der zur Laufzeit bestimmte Typ).
 
*Dabei gilt, daß der dynamische Typ eine Erweiterung des statischen Typs sein muß.
 
*Oberon bietet den IS-Operator an, der es erlaubt, den dynamischen Typ zu überprüfen:
 
PROCEDURE Draw(VAR go: GraphicalObject);
BEGIN
   IF go IS Circle THEN
      (* draw a circle *)
   ELSIF go IS Rectangle THEN
      (* draw a rectangle *)
   ELSE
      (* unknown *)
   END;
END Draw;

*variable IS Type
liefert dabei genau dann TRUE, falls der dynamische Typ von variable eine Erweiterung von Type ist.
 
*Der Compiler läßt Typen-Tests nicht zu, wenn Type keine Erweiterung des statischen Typs von variable ist.
 

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 1999 Andreas Borchert, in HTML konvertiert am 29.06.1999