ГОСТ Р И С 0 10303-11 — 2009
ENTITY teacher
SUBTYPE OF (person);
teaches ; SET [1 : ?] OF course;
WHERE
old : age >=21;
END_ENTTTY;
ENTITY student
SUBTYPE OF (person);
takes : SET[1 :?] OF course;
WHERE
young ; age>=5;
END_ENTITY;
ENTITYgraduate
SUBTYPE OF (student, teacher);
WHERE
limited : NOT (GRAD_LEVEL INteaches);
END_ENTTTY:
TYPE course = ENUMERATION OF (..., GRAD_LEVEL, ...);
END TYPE;
END_SCHEMA; - - конец схемы S
П р и м е ч а н и е — Если подтип наследует взаимно противоречащие ограничения от своих супертипов, то
не гложет существовать соответствующий экземпляр данного подтипа, поскольку любой экземпляр будет нару
шать одно из ограничений.
9.2.4 Абстрактный объектный тип данных
Язык EXPRESS позволяет объявлять объектные типы данных, не предназначенные для непосред
ственной реализации, а толькодля реализации через свои подтипы. Абстрактный объектный тип данных
может объявить явные или вычисляемые атрибуты, типами данных которых являются обобщенные типы
данных (см. 8.5). Эти обобщенные типы данных могут затем быть повторно объявлены как реализуемые
типы данных в подтипах абстрактного объектного типа данных. Если подтип абстрактного объектного типа
данных сам является абстрактным объектным типомданных, то он недолжен повторнообъявлять нереали
зуемые унаследованные атрибуты какреализуемые типы данных. В подтипе абстрактного объектного типа
данных, который не является абстрактным объектным типом данных, никакие унаследованные или явно
объявленные атрибуты недолжны иметь нереализуемый типданных.
Метки типа (см. 9.5.3.4) могут быть использованы для обеспечения того, что два или более атрибута,
типами данных которых являются обобщенные типы данных, имеют одинаковые типы данных на момент
обращения.
Правила и ограничения;
a) Объявление абстрактного объектного типаданных содержит ключевое слово ABSTRACT вобъяв
лении объектного типа данных ENTITY, но не содержит ключевое слово SUPERTYPE (понятие ABSTRACT
SUPERTYPE определено в 9.5.2.1).
b
)Абстрактный объектный тип данных не является реализуемым, если только он не является частью
сложного объектного типа данных, все атрибуты которого, имеющие обобщенные типы данных, были объяв
лены повторно как имеющие реализуемый типданных.
П р и м е ч а н и я
1 Правило по перечислению Ь) обеспечивает соответствие любого абстрактного объектного типа данных
ограничению абстрактного супертипа (см. 9.2.5.1).
2 Повторное объявление может быть осуществлено непосредственно в реализуемом подтипе или в одном
из его супертипов (см. 9.2.4).
Пример — В обобщенной модели согласования может потребоваться определить, что может
быть согласована группа объектов. Данная модель затем может быть использована в ряде других
схем и уточнена в части определения согласования реальных объектов.
ENTITY general_approval ABSTRACT;
approvedjtems : BAGOFGENERIC_ENTTTY;
status: approval_status;
ENDENTfTY;
40