|
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.
|
Copyright © 1999, 2004 Andreas F. Borchert, in HTML konvertiert am 28.01.2005 |