Инструкция 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
Настройки отображения иконок заголовков новых статических объектов данного класса. По умолчанию наличие иконки или ее отсутствие регулируется параметрами
settings.defaultImagePathRankingThreshold
иsettings.defaultAutoImageRankingThreshold
. Значение классаHTML
, используемое для отображения иконки, хранится в системном свойствеSystem.image[StaticObject]
. Эта опция позволяет настроить отображение иконки вручную. Может иметь один из двух видов:-
IMAGE [fileExpr]
Указание относительного пути к файлу изображения, которое будет отображаться в качестве иконки заголовка статического объекта. Если
fileExpr
не указывается, то происходит переключение в режим отображения иконки по умолчанию.-
fileExpr
Выражение, значение которого определяет путь к файлу изображения. Путь указывается относительно каталога
images
.
-
-
NOIMAGE
Ключевое слово, указывающее на то, что иконка заголовка статического объекта должна отсутствовать.
-
-
parent1, ..., parentN
Список имен новых родительских классов. Каждое имя задается составным идентификатором.
Примеры
CLASS ABSTRACT Shape;
CLASS Box : Shape;
CLASS Quadrilateral;
EXTEND CLASS Box : Quadrilateral; // Добав ляем наследование
CLASS ShapeType {
point 'Точка',
segment 'Отрезок'
}
EXTEND CLASS ShapeType { // Добавляем статический объект
circle 'Окружность'
}