ГОСТ Р И С 0 10303-11 — 2009
Пример— В модели перевозок транспортное средство (объект vehicle.) может быть представ
лено абстрактным супертипом, поскольку все экземпляры данного объектного типа данных
предназначены быть его подтипами (например, наземное или водное транспортное средство).
Объектный тип данных для транспортного средства не должен реализовываться независимо.
ENTITY vehicle
ABSTRACTSUPERTYPE;
END ENTITY;
ENTITY land_based
SUBTYPE OF (vehicle);
END ENTITY;
ENTITY water_based
SUBTYPE OF (vehicle);
END ENTITY;
9.2.52 ONEOF
Ограничение ONEOF устанавливает, что совокупности операндов из списка ONEOF являются взаи
моисключающими. Никакой экземпляр любой совокупности операндов из списка ONEOF не должен при
сутствовать в совокупности любого другого операнда из списка ONEOF.
Синтаксис;
263one_of = ONEOF ’( ’supertype_expression {Vsupertype_expressk>n}’)\
320 supertype_expression = supertype_factor {ANDOR supertype_factor}.
321 supertype_factor = supertype_term {AND supertype_term}.
323supertypejerm = entity_ref | one_of | ’(’supertype_expression.
Ограничение ONEOF может комбинироваться с другими ограничениями супертипов, чтобы дать воз
можность записывать сложные ограничения. Когда ограничение ONEOF присутствует как операнд вдру
гом ограничении, оно представляет множество экземпляров объектов, являющееся объединением сово
купностей операндов из списка ONEOF.
П р и м е ч а н и е — На естественном языке фраза ONEOF (а. Ь. с) означает, что «экземпляр объекта
должен состоять только из одного из объектных типов данных а. Ь. с».
Пример — Экземпляр супертипа может быть установлен посредством реализации только
одного из его подтипов. Данное ограничение объявляется с использованием ключевого слова ONEOF.
Существует множество видов домашних животных (объект pet), но ни одно домашнее животное не
может одновременно принадлежать к двум или более видам.
ENTITY pet
ABSTRACT SUPERTYPE OF (ONEOF (cat
rabbit.
dog.
•••));
name ; pet_name;
END ENTITY;
ENTITY cat
SUBTYPE OF(pet);
END ENTITY;
ENTITY rabbit
SUBTYPE OF(pet);
END ENTITY;
ENTITY dog
SUBTYPE OF(pet);
END ENTITY;
9.2.5.3 ANDOR
Экземпляр совокупности, определяемой выражением с ключевым словом ANDOR. может быть эк
земпляром совокупности любого из операндов или обоих. Таким образом. ANDOR не определяет огра-
42