![](https://cv01.studmed.ru/view/1e440797760/bg23.png)
35
имеют атрибутов: целые, строки и т.д. Класс, объекты которого могут служить
значениями атрибута объектов другого класса, называется доменом этого атри-
бута.
Допускается порождение нового класса на основе уже существующего
класса – наследование. В этом случае новый класс, называемый подклассом
существующего класса (суперкласса), наследует все атрибуты и методы
суперкласса. В подклассе, кроме того, могут быть определены дополнительные
атрибуты и методы. Различаются случаи простого и множественного
наследования. В первом случае подкласс может определяться только на основе
одного суперкласса, во втором случае суперклассов может быть несколько.
Если в языке или системе поддерживается единичное наследование классов, то
набор классов образует древовидную иерархию. При поддержании
множественного наследования классы связаны в ориентированный граф с
корнем, называемый решеткой классов. Объект подкласса считается
принадлежащим любому суперклассу этого класса.
Одной из более поздних идей объектно-ориентированного подхода
является идея возможного переопределения атрибутов и методов суперкласса в
подклассе (перегрузки методов). Эта возможность увеличивает гибкость, но
порождает дополнительную проблему: при компиляции объектно-
ориентированной программы могут быть неизвестны структура и программный
код методов объекта, хотя его класс (в общем случае – суперкласс) известен.
Для разрешения этой проблемы применяется так называемый метод позднего
связывания, означающий интерпретационный режим выполнения программы с
распознаванием деталей реализации объекта во время выполнения посылки
сообщения к нему. Введение некоторых ограничений на способ определения
подклассов позволяет добиться эффективной реализации без потребностей в
интерпретации.
При таком наборе базовых понятий, если не принимать во внимание
возможности наследования классов и соответствующие проблемы, объектно-
ориентированный подход очень близок к подходу языков программирования с
абстрактными (или произвольными) типами данных.
С другой стороны, если абстрагироваться от поведенческого аспекта
объектов, объектно-ориентированный подход весьма близок к подходу
семантического моделирования данных (даже по терминологии).
Фундаментальные абстракции, лежащие в основе семантических моделей,
неявно используются и в объектно-ориентированном подходе. На абстракции
агрегации основывается построение сложных объектов, значениями атрибутов
которых
могут быть другие объекты. Абстракция группирования – основа
формирования классов объектов. На абстракциях специализации (обобщения)
основано построение иерархии или решетки классов.
Наиболее важным новым качеством ООБД, которое позволяет достичь
объектно-ориентированного подхода, является поведенческий аспект объектов.
В прикладных информационных системах, основывавшихся на БД с
традиционной организацией (вплоть до тех, которые базировались на
семантических моделях данных), существовал принципиальный разрыв между