4.1.1. АТРИБУТЫ КЛАССОВ

Атрибутами называются имена слотов экземпляра класса, определяемые в составе класса. Каждый атрибут должен быть объявлен во всех классах, связанных отношением наследования, в которых используется соответствующий слот. Область действия атрибута распространяется на инициализаторы слотов в определении атрибутов класса, а также на все предложения класса.

 атрибуты = { определение_атрибута ";" }
 определение_атрибута =
    [ описатель_порта ":" ] атрибут [ "=" инициализатор ]
 описатель_порта = suspending | protecting
 атрибут = простой_символ

В составе инициализаторов слотов могут использоваться переменные. Область действия таких переменных ограничена множеством инициализаторов слотов в определении атрибутов класса. В определении атрибутов класса не допускается однократное использование переменных, отличных от "_".

Атрибут self - предопределенный, он обозначает непосредственно тот экземпляр класса, в котором это имя используется.

Повторное определение атрибутов класса (в том числе переопределение атрибута self) считается синтаксической ошибкой.

Пример. Правильно определенные атрибуты класса:

a = Y;                 e = ('Q',x='+'(a,f),m=self,k=e);
b;                     f = '*'(Y,7);
c = 'f'(_,[3,7],Y,a);  d = [];
g = _;                 h = {x:1,y:Y,z:R|_};
i = [0,_,j|R];         j = a;

Ссылки: инициализатор 4.1.2, класс 4.1, мир 5.1, переменная 2.1.1, предложение 6, простой символ 2.1.2, слот 5.1, protecting 2.1.2, suspending 2.1.2.


Следующий: 4.1.2. ИНИЦИАЛИЗАТОРЫ СЛОТОВ
Предыдущий: 4.1. КЛАССЫ


4.1. КЛАССЫ
КОРНЕВАЯ СТРАНИЦА
ОГЛАВЛЕНИЕ
СПИСОК ПОНЯТИЙ ЯЗЫКА (ИНДЕКС)