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

Инструкция 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

    Настройка иконки статического объекта. Один из вариантов:

  • parent1, ..., parentN

    Список имен новых родительских классов. Каждое имя задается составным идентификатором.

Примеры

CLASS ABSTRACT Shape;
CLASS Box : Shape;

CLASS Quadrilateral;
EXTEND CLASS Box : Quadrilateral; // Добавляем наследование

CLASS ShapeType {
point 'Точка',
segment 'Отрезок'
}

EXTEND CLASS ShapeType { // Добавляем статический объект
circle 'Окружность'
}