ГОСТ Р ИСО 10303-21—2022
ENTITY сс SUBTYPE OF (bb); -----------------------> С
attrib_c : INTEGER;
END_ENTITY;
ENTITY dd SUBTYPE OF (aa); -----------------------> D
attrib_d : REAL;
END_ENTITY;
ENTITY ее ; ------------------------------------------------> E
attrib_e : aa;
END_ENTITY;
Образец экземпляра объекта в секции данных:
#1 =AA(’SAMPLE STRING’); ---------------------------> А
#2 = ВВ(’АВС’); --------------------------------------------- > В
#3 = CC(’DEF\ 123); -------------------------------------> С
#4 = DD(’XYZ’, 99.99);--------------------------------------> D
#5 = ЕЕ(#1);--------------------------------------------------- > Е
#6 = ЕЕ(#2);--------------------------------------------------- > Е
#7 = ЕЕ(#3);--------------------------------------------------- > Е
#8 = ЕЕ(#4);--------------------------------------------------- > Е
А: поскольку объект аа не является абстрактным супертипом, то он может присутствовать в структуре обме
на. Объект имеет только один атрибут attrib a, когда присутствует в структуре;
В: объект bb является подтипом аа и, следовательно, его экземпляры будут содержать атрибуты и аа, и bb,
но так как объект bb не определяет все атрибуты, в данном атрибуте должен присутствовать только список пара
метров attrib_a;
С: объект сс является подтипом bb и, следовательно, его экземпляры будут содержать атрибуты аа, bb и сс;
D: объект dd является подтипом аа и, следовательно, его экземпляры должны содержать атрибуты объектов
аа и bb;
Е: объект ее ссылается на объект аа в качестве атрибута. Следовательно, экземпляр объекта может ссы
латься на любой из #1, #2, #3 или #4.
3Отображение объекта с несколькими супертипами в выражении SUBTYPE OF. Определение объ
екта в языке EXPRESS.
ENTITY base SUPERTYPE OF (branch_one,branch_two); —> A
attrib_a : STRING;
END_ENTITY;
ENTITY branch_one SUBTYPE OF (base);------------------------> В
attrib_b : INTEGER;
END_ENTITY;
ENTITY branchjwo SUBTYPE OF (base); -----------------------> C
attrib_c : BOOLEAN;
END_ENTITY;
ENTITY leaf SUBTYPE OF (branch_one, branch_two);
------
> D
attrib_d : REAL;
END_ENTITY;
Образец экземпляра объекта в секции данных:
#1 = BASE(’SAMPLE STRING’); -------------------------------------> А
#2 = BRANCH_ONE(’ABC’, 123); -----------------------------------> В
#3 = BRANCH_TWO(’DEF’, .Т); -----------------------------------> С
#4 = LEAFfXYZ’, 123, ,Т„ 99.99);--------------------------------------->D
А: объект не имеет супертипов. При внесении в структуру обмена список его параметров должен содержать
только значение атрибута attrib a;
В: объект branch.one является подтипом основного типа. При внесении в структуру обмена список его пара
метров должен содержать унаследованные атрибуты, следующие за атрибутом branch_one;
С: объект branch_two является подтипом основного типа. При внесении в структуру обмена список его пара
метров должен содержать унаследованные атрибуты, следующие за атрибутом branch_two;
47