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

Инструкция EXTEND CLASS

Инструкция EXTEND CLASS - расширение существующего класса.

Синтаксис

EXTEND CLASS name 
[{
objectName1 [objectCaption1],
...
objectNameM [objectCaptionM]
}]
[: parent1, ..., parentN];

Описание

Инструкция EXTEND CLASS расширяет существующий пользовательский класс дополнительными родительскими классами и новыми статическими объектами. Расширять можно в том числе и абстрактные классы, добавляя им родительские классы.

Параметры

  • name

    Имя класса. Составной идентификатор.

  • objectName1, ..., objectNameM

    Имена новых статических объектов указанного класса. Каждое имя задается простым идентификатором. Значения имен хранятся в системном свойстве System.staticName.

  • objectCaption1, ..., objectCaptionM

    Заголовки новых статических объектов указанного класса. Каждый заголовок является строковым литералом. Если заголовок не задан, то заголовком статического объекта будет являться его имя. Значения заголовков хранятся в системном свойстве System.staticCaption.

  • parent1, ..., parentN

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

Примеры

CLASS ABSTRACT Shape;
CLASS Box : Shape;

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

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

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