Инструкция 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 'Окружность'
}