ГОСТ Р И С 0 10303-11 — 2009
представлены в таблице 8. Операторы, расположенные водной строке, имеют равный приоритет, а строки
упорядочены по уменьшению приоритета.
Т а б л и ц а 8 — Приоритет оператора выражения супертипа
Приоритет
Операторы
1
( ) ONEOF
2
AND
3
ANDOR
Пример— Следующие два выражения не эквивалентны:
ENTITY х
SUPERTYPE OF (aANDORbANDс);
ENDENITTY:
ENTITY x
SUPERTYPE OF ((a ANDOR b) AND c);
ENDENTITY:
9.2.5.6 Ограничения между подтипами no умолчанию
Если вобъявлении объекта не указано никаких ограничений на супертипы, то подтипы (при их нали
чии)должны быть взаимно инклюзивными, то есть, как если бы все подтипы были бы неявно представлены в
конструкции ANDOR.
Если ограничение на супертипы задано для подмножества подтипов данного объекта, то оно
должно включать в себя ограничения, установленные для этих подтипов, и ограничение ANDOR для
других подтипов.
Пример— Модель из примера в 9.2.5.3 эквивалентна использованию следующей конструкции по
умолчанию:
ENTITY person
END ENTITY:
ENTITY employee
SUBTYPE OF (person);
END ENTITY;
ENTITY student
SUBTYPE OF (person);
END ENTITY;
9.2.6 Неявные объявления
При объявлении объекта, одновременно неявным образом объявляется конструктор. Идентификатор
конструктора совпадает с идентификатором объекта иобласть видимости объявления конструктора совпа
дает с областью видимости объявления объекта.
При запуске конструктора он должен возвращать в точку вызова значение частичного сложного
объекта для данного объектного типа данных. Каждый атрибут данного значения частичного сложного
объекта задается фактическим параметром, заданным в вызове конструктора мнимой копией. Мнимая
копия представляет собой объект, в который экземпляр объекта копируется посредством ссылки, то
есть атрибут является ссылкой на экземпляр, используемый в качестве фактического параметра, простой
тип данных имеет скопированное значение, а агрегированные структуры имеют элементы, скопированные в
мнимую копию. Конструктор должен обеспечивать только явные атрибуты из объявления конкретного
объекта.
Синтаксис;
205 entityconstructor = entity_ref ’(’ [expression {’,* expression} ] ’) ’.
44