Класс объекта состоит из его интерфейса и закрытой области. Интерфейс класса – это то, что видно другим объектам. Он, в свою очередь, состоит из двух частей: свойства класса и методов класса. Аналогом свойств являются атрибуты отношений. Например, клиент может иметь следующие свойства: номер, Ф.И.О., адрес, телефон. К свойствам относятся также связи с другими объектами. Свойства сами могут быть объектами, что позволяет создавать составные объекты, например, свойство Ф. И. О. может состоять из свойств: фамилия, имя, отчество.
Доступ к значениям свойств и манипулирование ими можно осуществлять только посредством методов класса. Поведение объекта задается с помощью методов его класса. Обычно они имеют форму операций и функций, которые могут содержать параметры. На уровне интерфейса видимым является только имя каждого метода и требуемые параметры. Методы служат для передачи объектам сообщений. Другими словами, метод представляет то, что, по мнению пользователя, должен делать объект. Например, клиент может сделать заказ, оплатить счет и т. п. Для каждого из этих видов деятельности должен быть соответствующий метод.
Закрытая область – это та часть определения класса, которая не видна другим объектам. Пользователю объекта предоставляется информация только о том, как работать с объектом при помощи его методов. Сама же работа объекта скрыта от пользователя. Например, могут существовать дополнительные свойства с закрытыми значениями, а также скрытые связи и сообщения другим объектам.
Свойства объектов описываются либо одним из стандартных типов, заложенных в системе, например, строковым типом String, либо типом, который конструирует сам пользователь. Этот тип определяется словом Class. Значением свойства типа Class является объект, являющийся экземпляром соответствующего класса. Каждый объект – экземпляр класса – считается потомком объекта, в котором он определен как свойства. Объект – экземпляр класса, принадлежит своему классу и имеет одного родителя. Родовые отношения в базе образуют связанную иерархию объектов.
Важным достоинством объектно-ориентированной базы является то, что пользователю не нужно знать о взаимодействии объектов: он просто обращается к конкретному объекту и использует конкретный метод. То, что при этом осуществляется воздействие на другие объекты базы, скрыто от пользователя.
Различные правила, руководящие использованием объектов, также могут быть скрыты от пользователя. Например, выбранный метод может, в свою очередь, обращаться к другим методам, например, методу проверки кредитоспособности выбранного клиента.
Понятие «класс объекта» во многом аналогично понятию «тип». Поэтому при проектировании объектно-ориентированной базы данных нужно прежде всего осуществить процесс классификации, т.е. выявить объекты с аналогичными свойствами и поведением и объединить их в классы.
Используя объекты и методы, можно хранить и неоднократно использовать не только структуру объекта базы данных, но и его поведение. [Якунина, 2013]
Объектно-ориентированная модель данных
(продолжение)
Объектно-ориентированная база данных – это попытка применить идеологию объектно-ориентированного программирования к технологии баз данных. Объектно-ориентированная база данных состоит из объектов, причем каждый объект принадлежит к определенному классу. Поведение объекта полностью определяется его принадлежностью к определенному классу. Процесс проектирования объектно-ориентированной базы основан на выявлении классов объектов.
Используя объекты и методы, можно хранить и неоднократно использовать не только структуру объекта базы данных, но и его поведение.
Инкапсуляция означает объединение в единое целое данных и алгоритмов (функций и методов) их обработки, а также скрытие данных внутри объектов, что повышает надежность разрабатываемого программного обеспечения. Вся информация об объекте заключения в определении его класса. Доступ к объекту может осуществляться только через его интерфейс. Поведение объекта полностью определяется принадлежностью к определенному классу.
Наследование распространяет множество свойств и методов на потомков объекта. Аналогом наследования можно считать разбиение на подтипы. Например, можно определить классы Мужчина и Женщина как наследующие класс Человек. Все эти классы будут иметь общие свойства и методы. Однако в определение новых классов можно добавить дополнительные свойства и методы.
Читать дальше