Эта связь учитывает существующую между
Эта связь учитывает существующую между классами связь "обобщение-специализация", которая определяет иерархию наследования. Отношение ISA описывает связь типа "многие ко многим" – один класс может содержать множество объектов и, поскольку объекты класса-наследника считаются объектами родительского класса, одному объекту может соответствовать несколько классов. Если объект oi связан с классом C связью ISA, можно утверждать, что спецификация этого объекта содержит атрибуты, определенные в спецификации класса, ISA (oi,C) => publicSchema(C) Н
publicoSchema (oi)
Второе отношение, которое в дальнейшем мы будем обозначать как отношение OFA, описывает связь, характеризующуюся фразой "объект oi
создан как объект класса C". Эта связь не учитывает наследования и является связью типа "многие к одному", из чего следует, что отношение OFA является функциональным,
O
–OFA->
C. Для объектов и связанных с ними связью OFA классов существует точное соответствие схемы объекта и схемы класса, OFA (oi,C) => oSchema (oi) = Schema(C).Обратное отношение OFA-1 ,для каждого класса C будет формировать множество объектов DC, созданных как объекты класса C,
DC = OFA-1(C). Заметим, что множества объектов DC
являются непересекающимися DCi
З DCi = Ж если Сi №
Сj.
Рассмотрим множество IC0
классов Сi содержащий атрибут oa, oa О publicSchema (Ci). Эти классы образуют иерархию наследования, где и один из них - класс С0
, в котором атрибут oa объявлен впервые - является родительским для остальных классов Ci (i > 0), наследующих этот атрибут. Множество объектов, входящих в класс С0, является объединением всех объектов, созданных как объекты классов, входящих в иерархию IC0, C0 = И DCi
, где Ci О IC0. Таким образом, значение C0.oa, представляющее собой объединение значений атрибутов oa объектов, принадлежащих классу C0, является объединением значений DCi . oa, представляющих собой объединения значений атрибутов oa объектов, созданных как объекты класса, входящих в иерархию I, С0.oa
Содержание Назад Вперед