Skip to end of metadata
Go to start of metadata

Техника расширения классов позволяет разработчику донаследовать один класс от другого после его создания. Также при помощи этого механизма можно добавлять в класс дополнительные статические объекты.

Расширение классов вместе с техникой расширения свойств и действий позволяет:

  • Отделять связи между классами в отдельный модуль, тем самым получая более модульную архитектуру.
  • Изменять функционал уже существующего модуля без внесения в него каких-либо изменений.
  • Объявлять классы в метакоде, определяя наследование класса за его пределами.

Язык

Для того, чтобы расширить класс, используется инструкция EXTEND CLASS.

Примеры

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
 CLASS ABSTRACT Shape;
CLASS Box : Shape;

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

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

  • No labels