Перейти к основному содержимому
Версия: 6.x

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