|
SortedBinaryTrees.od |
TYPE CompareProc = PROCEDURE (object1, object2: Objects.Object) : INTEGER; (* return an integer value < 0 if object1 < object2 = 0 if object1 = object2 > 0 if object1 > object2 *) |
Wenn ein abstraktes Modul für sortierte binäre Bäume
formuliert wird, sollte es nach Möglichkeit von dem
zu vergleichenden Typ V und der vollständigen
Ordnungsrelation R unabhängig sein.
| |
Das läßt sich in Oberon durch die Verwendung von
Prozedurtypen erreichen. Einer Variablen von einem Prozedurtyp
(hier z.B. CompareProc) kann eine beliebige Prozedur
zugewiesen werden, die einen äquivalenten Prozedurkopf besitzt
(hier z.B. Compare).
|
CalendarManager.om |
PROCEDURE Compare(app1, app2: Objects.Object) : INTEGER; BEGIN RETURN Op.Compare(app1(Appointment).time, app2(Appointment).time) END Compare; |
Copyright © 1999 Andreas Borchert, in HTML konvertiert am 29.06.1999 |