ГОСТ Р ИСО 10303-21—2022
Е: поскольку объекты g и h имеют супертип (объект е), который участвует в операторе ANDOR, их отображе
ние будет зависеть от структуры определяемого множества, в котором они появились.
3 Экземпляр объекта, показывающий внутреннее отображение.
#1=Х(1);
#2=c(#i, zo);
Л ЛЛ
I II
А В С
А: определяемым множеством для #2 является [с & а] и, следовательно, используется внутреннее отобра
жение;
В: атрибут attrib_a унаследован типом данных объекта с. Определяемое множество является ссылкой на
экземпляр типа данных объекта х;
С: атрибут attrib_c появляется после всех унаследованных атрибутов.
4 Экземпляр объекта, показывающий внутреннее отображение.
#4=Х(3); #1=Х(1);
#2=D(#1, Z0, #4)
A B CD
А: поскольку экземпляр объекта #2 принадлежит определяемому множеству [а & b & d], которое имеет точно
одну вершину (d), он отображается внутренним образом;
В: атрибут объекта а с именем attrib_a унаследован типом данных объекта d;
С: атрибут attrib b унаследован типом данных объекта d;
D: атрибут attrib_d является последним атрибутом в экземпляре d потому, что атрибуты, унаследованные от
объектов супертипа а и Ь, появляются первыми.
5 Экземпляр объекта, показывающий внешнее отображение.
#1=Х(1);
#2=(А(#1) В(9.0) D(#1) Е(#1) F(#1) Н(4)); ------------->А
А: поскольку экземпляр объекта #2 является членом [ a & b & d & e & f & h j n это определяемое множество
оценки имеет более одной вершины (листа) (d и h), используется внешнее отображение. Не существует единого
имени типа данных объекта, которое может быть связано с объектом, скорее объект должен иметь составное имя a-
b-d-c-f-h. Пробелы между записями объектов необязательны и добавлены в этом примере для того, чтобы об
легчить чтение.
12.2.6 Явные атрибуты, переобъявленные как DERIVE
Если объект подтипа переобъявляет атрибут своего супертипа с помощью оператора DERIVE, а исходный
атрибут является явным, то значение исходного атрибута в супертипе должно кодироваться звездочкой
Пример
—
Определение объекта в языке EXPRESS.
ENTITY point;
х : REAL;
у : REAL;
z : REAL;
END_ENTITY;
ENTITY point_on_curve SUBTYPE OF (point);
u : REAL;
c : curve;
DERIVE
SELF\point.x : real := fx(u, c);
SELF\point.y : real := fy(u, c);
SELF\point.z : real := fz(u, c);
END_ENTITY;
ENTITY curve;
50