Объект - это понятие языка. Объект имеет (содержит) значение данного типа. Объектом может быть:
Объект, объявленный описанием объекта или описанием одиночной задачи;
Формальный параметр подпрограммы, входа или настраиваемой подпрограммы;
Формальный объект настройки;
Параметр цикла;
Объект, указанный значением ссылочного типа;
Компонент или отрезок другого объекта.
Описание числа - это специальная форма описания объекта, которая связывает идентификатор со значением типа универсальный_целый или универсальный_вещественный.
описание_объекта : : = | |||||
список_идентификаторов : [constant] | |||||
указание_подтипа [: = выражение] ; | |||||
список идентификаторов : [constant] | |||||
определение_ограниченного_индексируемого_типа [: = выражение] ; | |||||
описание _числа : : = | |||||
список_идентификаторов : constant | |||||
: = универсальное _статическое_выражение; | |||||
список_идентификаторов : : = | |||||
идентификатор {, идентификатор} |
Описание объекта называется единичным описанием объекта, если список его идентификаторов имеет единственный идентификатор; оно называется групповым описанием объектов, если его список имеет два или несколько идентификаторов. Групповое описание объектов эквивалентно последовательности соответствующего числа единичных описаний объектов. Для каждого идентификатора из списка в такой эквивалентной последовательности единичное описание объекта формируется из идентификатора, двоеточия и всего того, что стоит справа от двоеточия в групповом описании объекта; описания в эквивалентной последовательности идут в том же порядке, что и список идентификаторов.
Аналогичная эквивалентность имеет место также для списка идентификаторов описания числа, описаний компонентов, спецификаций дискриминантов, спецификаций параметров и описаний параметров настройки, исключений и субконстант.
В остальной части описания языка все пояснения даны для описаний с единственным идентификатором; соответствующие пояснения для описаний с несколькими идентификаторами следуют из эквивалентности, установленной выше.
Примеры:
- - групповое описание объектов
ИВАН, ПЕТР: ИМЯ_ПЕРСОНЫ : = new ПЕРСОНА (ПОЛ => М);
- - см. 3.8.1
- - эквивалентно единичным описаниям объектов,
- - следующим в данном порядке
ИВАН: ИМЯ_ПЕРСОНЫ: = new ПЕРСОНА (ПОЛ => М);
ПЕТР: ИМЯ_ПЕРСОНЫ: = new ПЕРСОНА (ПОЛ => М);
3.2.1. Описания объектов
Описание объекта вводит объект, тип которого задан либо указанием подтипа, либо определением ограниченного индексируемого типа. Если описание объекта включает составной ограничитель присваивания, за которым следует выражение, то это выражение определяет начальное значение описываемого объекта; тип выражения должен совпадать с типом объекта.
Описываемый объект - константа, если в описании объекта присутствует зарезервированное слово constant. В этом случае описание должно включать явную инициализацию. Значение константы не может быть изменено после инициализации. Формальные параметры вида in подпрограмм и входов, а также формальные параметры настройки вида in являются константами; параметр цикла - константа в соответствующем цикле; подкомпонент или отрезок константы - тоже константа.
Объект, не являющийся константой, называется переменной (в частности, объект, заданный описанием объекта без зарезервированного слова constant, является переменной). Для изменения значения переменной существует только два пути: непосредственное присваивание или косвенное изменение (см. 6.2) оператором вызова процедуры или входа (это действие может быть выполнено над самой переменной, над компонентом переменной, либо над другой переменной, для которой данная является подкомпонентом).
Предвыполнение описания объекта происходит следующим образом:
а) устанавливается подтип объекта посредством предвыполнения указания подтипа или определения ограниченного индексируемого типа;