Константа
Оператор константа позволяет создавать свойства без параметров, которые всегда возвращают одно и то же значение. Этим значением могут быть статические объекты пользовательских и встроенных классов, а также специальное значение NULL
.
Язык
Статические объекты пользовательских классов указываются в виде <имя класса>.<имя объекта>
.
Статические объекты встроенных классов задаются специальными литералами.
Примеры
CLASS Direction {
north, east, south, west // объявляем статические объекты
}
// здесь константное свойство создается из объекта Direction.north, которое затем используется
// оператором сравнения для построения свойства isNorth
isNorth (Direction d) = d == Direction.north;
// здесь константное свойство создается из литерала, описывающего дату
defaultDate() = 1982_07_13;
CLASS Man;
age 'Возраст' = DATA INTEGER (Man);
// здесь используется константное свойство, созданное из целого числа (целочисленного литерала)
isChild (Man m) = age(m) < 17;