Regionale Typ-Zusicherungen

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

PROCEDURE Area(go: GraphicalObject) : REAL;
BEGIN
   IF go IS Rectangle THEN
      WITH go: Rectangle DO
         RETURN go.width * go.height
      END;
   ELSIF go IS Circle THEN
      WITH go: Circle DO
         RETURN Math.pi * go.radius * go.radius
      END;
   (* ... *)
   END;
END Area;

*Einzelne Typ-Zusicherungen blähen den Programmtext zu sehr auf, wenn sie mehrfach benötigt werden.
 
*Mit der WITH-Anweisung erstreckt sich eine Typ-Zusicherung über alle eingeschlossenen Anweisungen.
 

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