Распределенная обработка данных. Найханова Л.В. - 86 стр.

UptoLike

Составители: 

86
системой уникальный идентификатор, который связан с объектом все время его
существования и не меняется при изменении состояния объекта.
Каждый объект имеет состояние и поведение. Состояние объекта - набор значений
его атрибутов. Поведение объекта - набор методов (программный код), оперирующих над
состоянием объекта. Значение атрибута объекта - это тоже некоторый объект или
множество объектов. Состояние и поведение объекта инкапсулированы в объекте;
взаимодействие объектов производится на основе передачи сообщений и выполнении
соответствующих методов.
Множество объектов с одним и тем же набором атрибутов и методов образует класс
объектов. Объект должен принадлежать только одному классу (если не учитывать
возможности наследования). Допускается наличие примитивных предопределенных
классов, объекты-экземпляры которых не имеют атрибутов: целые, строки и т.д. Класс,
объекты которого могут служить значениями атрибута объектов другого класса,
называется доменом этого атрибута.
Допускается порождение нового класса на основе уже существующего класса -
наследование. В этом случае новый класс, называемый подклассом существующего класса
(суперкласса), наследует все атрибуты и методы суперкласса. В подклассе, кроме того,
могут быть определены дополнительные атрибуты и методы. Различаются случаи
простого и множественного наследования. В первом случае подкласс может определяться
только на основе одного суперкласса, во втором случае суперклассов может быть
несколько. Если в языке или системе поддерживается единичное наследование классов,
набор классов образует древовидную иерархию. При поддержании множественного
наследования классы связаны в ориентированный граф с корнем, называемый решеткой
классов. Объект подкласса считается принадлежащим любому суперклассу этого класса.
Одной из более поздних идей объектно-ориентированного подхода является идея
возможного переопределения атрибутов и методов суперкласса в подклассе (перегрузки
методов). Эта возможность увеличивает гибкость, но порождает дополнительную
проблему: при компиляции объектно-ориентированной программы могут быть
неизвестны структура и программный код методов объекта, хотя его класс (в общем
случае - суперкласс) известен. Для разрешения этой проблемы применяется так
называемый метод позднего связывания, означающий, по сути дела, интерпретационный
режим выполнения программы с распознаванием деталей реализации объекта во время
выполнения посылки сообщения к нему. Введение некоторых ограничений на способ
определения подклассов позволяет добиться эффективной реализации без потребностей в
интерпретации.
Как видно, при таком наборе базовых понятий, если не принимать во внимание
возможности наследования классов и соответствующие проблемы, объектно-
ориентированный подход очень близок к подходу языков программирования с
абстрактными (или произвольными) типами данных.
С другой стороны, если абстрагироваться от поведенческого аспекта объектов,
объектно-ориентированный подход весьма близок к подходу семантического
моделирования данных (даже и по терминологии). Фундаментальные абстракции,
лежащие в основе семантических моделей, неявно используются и в объектно-
ориентированном подходе. На абстракции агрегации основывается построение сложных
объектов, значениями атрибутов которых могут быть другие объекты. Абстракция
группирования - основа формирования классов объектов. На абстракциях
специализации/обобщения основано построение иерархии или решетки классов.
Видимо, наиболее важным новым качеством ООБД, которого позволяет достичь
объектно-ориентированный подход, является поведенческий аспект объектов. В
прикладных информационных системах, основывавшихся на БД с традиционной
организацией (вплоть до тех, которые базировались на семантических моделях данных),
существовал принципиальный разрыв между структурной и поведенческой частями.
системой уникальный идентификатор, который связан с объектом все время его
существования и не меняется при изменении состояния объекта.
      Каждый объект имеет состояние и поведение. Состояние объекта - набор значений
его атрибутов. Поведение объекта - набор методов (программный код), оперирующих над
состоянием объекта. Значение атрибута объекта - это тоже некоторый объект или
множество объектов. Состояние и поведение объекта инкапсулированы в объекте;
взаимодействие объектов производится на основе передачи сообщений и выполнении
соответствующих методов.
      Множество объектов с одним и тем же набором атрибутов и методов образует класс
объектов. Объект должен принадлежать только одному классу (если не учитывать
возможности наследования). Допускается наличие примитивных предопределенных
классов, объекты-экземпляры которых не имеют атрибутов: целые, строки и т.д. Класс,
объекты которого могут служить значениями атрибута объектов другого класса,
называется доменом этого атрибута.
      Допускается порождение нового класса на основе уже существующего класса -
наследование. В этом случае новый класс, называемый подклассом существующего класса
(суперкласса), наследует все атрибуты и методы суперкласса. В подклассе, кроме того,
могут быть определены дополнительные атрибуты и методы. Различаются случаи
простого и множественного наследования. В первом случае подкласс может определяться
только на основе одного суперкласса, во втором случае суперклассов может быть
несколько. Если в языке или системе поддерживается единичное наследование классов,
набор классов образует древовидную иерархию. При поддержании множественного
наследования классы связаны в ориентированный граф с корнем, называемый решеткой
классов. Объект подкласса считается принадлежащим любому суперклассу этого класса.
      Одной из более поздних идей объектно-ориентированного подхода является идея
возможного переопределения атрибутов и методов суперкласса в подклассе (перегрузки
методов). Эта возможность увеличивает гибкость, но порождает дополнительную
проблему: при компиляции объектно-ориентированной программы могут быть
неизвестны структура и программный код методов объекта, хотя его класс (в общем
случае - суперкласс) известен. Для разрешения этой проблемы применяется так
называемый метод позднего связывания, означающий, по сути дела, интерпретационный
режим выполнения программы с распознаванием деталей реализации объекта во время
выполнения посылки сообщения к нему. Введение некоторых ограничений на способ
определения подклассов позволяет добиться эффективной реализации без потребностей в
интерпретации.
      Как видно, при таком наборе базовых понятий, если не принимать во внимание
возможности наследования классов и соответствующие проблемы, объектно-
ориентированный подход очень близок к подходу языков программирования с
абстрактными (или произвольными) типами данных.
      С другой стороны, если абстрагироваться от поведенческого аспекта объектов,
объектно-ориентированный подход весьма близок к подходу семантического
моделирования данных (даже и по терминологии). Фундаментальные абстракции,
лежащие в основе семантических моделей, неявно используются и в объектно-
ориентированном подходе. На абстракции агрегации основывается построение сложных
объектов, значениями атрибутов которых могут быть другие объекты. Абстракция
группирования - основа формирования классов объектов. На абстракциях
специализации/обобщения основано построение иерархии или решетки классов.
      Видимо, наиболее важным новым качеством ООБД, которого позволяет достичь
объектно-ориентированный подход, является поведенческий аспект объектов. В
прикладных информационных системах, основывавшихся на БД с традиционной
организацией (вплоть до тех, которые базировались на семантических моделях данных),
существовал принципиальный разрыв между структурной и поведенческой частями.

86