Инструкция EXTEND CLASS
Инструкция EXTEND CLASS - расширение существующего класса.
Синтаксис
EXTEND CLASS name
[{
objectName1 [objectCaption1] [imageSetting],
...
objectNameM [objectCaptionM] [imageSetting]
}]
[: parent1, ..., parentN];
Где imageSetting принимает один из видов:
IMAGE [imageLiteral]
NOIMAGE
Описание
Инструкция EXTEND CLASS расширяет существующий пользовательский класс дополнительными родительскими классами и новыми статическими объектами. Расширять можно, в том числе и абстрактные классы, добавляя им родительские классы.
Параметры
-
nameИмя класса. Составной идентификатор.
-
objectName1, ..., objectNameMИмена новых статических объектов указанного класса. Каждое имя задается простым идентификатором. Имя каждого статического объекта доступно через свойство
name[StaticObject]. -
objectCaption1, ..., objectCaptionMЗаголовки новых статических объектов указанного класса. Каждый заголовок является строковым литералом. Если заголовок не задан, то заголовком статического объекта будет являться его имя. Заголовок каждого статического объекта доступен через свойство
caption[StaticObject]. -
imageSettingНастройка иконки статического объекта. Один из вариантов:
-
IMAGEУказание иконки вручную, после которого может следовать
imageLiteral— строковый литерал, значение которого определяет иконку. ЕслиimageLiteralне указан, происходит переключение в режим автоматической установки иконки. -
NOIMAGEУ статического объекта не должно быть иконки.
-
-
parent1, ..., parentNСписок имен новых родительских классов. Каждое имя задается составным идентификатором.
Примеры
CLASS ABSTRACT Shape;
CLASS Box : Shape;
CLASS Quadrilateral;
EXTEND CLASS Box : Quadrilateral; // Добавляем наследование
CLASS ShapeType {
point 'Точка',
segment 'Отрезок'
}
EXTEND CLASS ShapeType { // Добавляем статический объект
circle 'Окружность'
}