Инструкция EXTEND CLASS
Инструкция EXTEND CLASS - расширение существующего класса.
Синтаксис
EXTEND CLASS name
[{
objectName1 [objectCaption1] [imageSetting1],
...
objectNameM [objectCaptionM] [imageSettingM]
}]
[: parent1, ..., parentN];
Описание
Инструкция EXTEND CLASS расширяет существующий пользовательский класс дополнительными родительскими классами и новыми статическими объектами. Расширять можно, в том числе и абстрактные классы, добавляя им родительские классы.
Параметры
-
nameИмя класса. Составной идентификатор.
-
objectName1, ..., objectNameMИмена новых статических объектов указанного класса. Каждое имя задается простым идентификатором. Значения имен хранятся в системном свойстве
System.staticName. -
objectCaption1, ..., objectCaptionMЗаголовки новых статических объектов указанного класса. Каждый заголовок является строковым литералом. Если заголовок не задан, то заголовком статического объекта будет являться его имя. Значения заголовков хранятся в системном свойстве
System.staticCaption. -
imageSetting1, ..., imageSettingMНастройки иконок заголовков статических объектов данного класса. Значение класса
HTML, используемое для отображения иконки, хранится в системном свойствеSystem.image[StaticObject]. Эта опция позволяет настроить отображение иконки вручную. Может иметь один из двух видов:-
IMAGE [imageLiteral]Указание иконки иконки заголовка статического объекта. Если
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 'Окружность'
}