Классика баз данных - статьи

       

с атрибутами операторах Еа, служащих


Информация же об ассоциированных с атрибутами операторах Еа, служащих для вычисления значений этих атрибутов, не является необходимой для использования объектов класса С (естественно, речь идет об использовании в операциях, основанных на реляционной алгебре), и, фактически, описывает некоторую реализацию схемы объектов класса . Это позволяет утверждать, что предлагаемый подход позволяет реализовать принцип инкапсуляции [4,1] - один из основных принципов объектно-ориентированного программирования, предполагающий разделения спецификации и реализации объекта.



Наследование.



Еще одним важным принципом, составляющим объектно-ориентированную парадигму, является принцип наследования [4], позволяющий определять новые классы на основе уже существующих. Отношение между классами, возникающее в процессе наследования, описывают существующую между ними связь "обобщение-специализация", причем класс-наследник является специализацией родительского класса, который, в свою очередь, обобщает все свои классы-наследники.

Рассмотрим класс С со спецификацией publicSC = {oa1:R1, oa2:R2,…, oan:Rn}. Предположим, что для этого класса определен реляционный оператор E

С.E(oa1, … , oan)

Рассмотрим класс Сi, являющийся наследником класса C. Спецификация класса Сi определяется как publicSCi = SC И {oan+1:Rn+1,…, oap:Rp } = {oa1:R1, oa2:R2,…, oan:Rn, oan+1:Rn+1,…, oap:Rp }. Поскольку объекты класса Ci содержат те же атрибуты, определенные на тех же реляционных доменах (rdom), что и в объекты класса С, то можно утверждать, что оператор Е применим и к объектам любых классов Ci являющихся наследниками класса C. Это позволяет рассматривать объекты классов-наследников как объекты родительского класса С.

В свете этого имеет смысл более подробно рассмотреть отношения, существующих между множеством O объектов и множеством C классов. Можно выделить два типа отношений. Первое, традиционно обозначаемое как отношение ISA, характеризуется фразой "объект oi является объектом класса C".

Содержание  Назад  Вперед