Расширение классов
Техника расширения классов позволяет разработчику донаследовать один класс от другого после его создания. Также при помощи этого механизма можно добавлять в класс дополнительные статические объекты.
Расширение классов вместе с техникой расширения свойств и действий позволяет:
- Отделять связи между классами в отдельный модуль, тем самым получая более модульную архитектуру.
- Изменять функционал уже существующего модуля без внесения в него каких-либо изменений.
- Объявлять классы в метакоде, определяя наследование класса за его пределами.
Язык
Для того, чтобы расширить класс, используется инструкция EXTEND CLASS
.
Примеры
CLASS ABSTRACT Shape;
CLASS Box : Shape;
CLASS Quadrilateral;
EXTEND CLASS Box : Quadrilateral; // Добавляем наследование
CLASS ShapeType {
point 'Точка',
segment 'Отрезок'
}
EXTEND CLASS ShapeType { // Добавляем статический объект
circle 'Окружность'
}