Skip to main content
Version: 5.x

EXTEND CLASS statement

The EXTEND CLASS statement extends an existing class.

Syntax​

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

Description​

The EXTEND CLASS statement extends an existing custom class with additional parent classes and new static objects. You can also extend abstract classes by adding parent classes to them.

Parameters​

  • name

    Class name. A composite ID.

  • objectName1, ..., objectNameM

    Names of new static objects of the specified class. Each name is defined by a simple ID. Name values are stored in the System.staticName system property.

  • objectCaption1, ..., objectCaptionM

    Captions of new static objects of the specified class. Each caption is a string literal. If the caption is not defined, the name of the static object will be its caption. Caption values are stored in the System.staticCaption system property.

  • parent1, ..., parentN

    A list of names of new parent classes. Each name is defined by a composite ID.

Examples​

CLASS ABSTRACT Shape;
CLASS Box : Shape;

CLASS Quadrilateral;
EXTEND CLASS Box : Quadrilateral; // Adding inheritance

CLASS ShapeType {
point 'Dot',
segment 'Line segment'
}

EXTEND CLASS ShapeType { // Adding a static object
circle 'Circle'
}