Объектно-информационные модели
Объектный подход к информационному моделированию берет свое начало в парадигме объектно-ориентированного программирования (ООП), возникшей в 1970-х годах. Главным понятием здесь является "объект". Объект — часть окружающей нас действительности. Понятие объекта является очень широким и объединяет в себе как реальные, осязаемые предметы (например: кресло, автомобиль, мост), так и образы, созданные мышлением человека (например: стихотворение, музыкальное произведение, математическая теорема). Информационная модель объекта должна отражать некоторый набор его свойств. Свойства объекта — это совокупности признаков, которые отличают его от других объектов. В следующей таблице даны примеры объектов и их свойств.
У каждого конкретного объекта свойства имеют определенные значения. В нашем примере добавим значения свойств объектов. Эти значения могут быть количественными величинами (10 лет, 5 Гб), но могут быть и именами других объектов. Например, "Иван Иванович Иванов" и "Математика" сами могут рассматриваться как объекты. Состояние объекта характеризуется перечнем всех возможных его свойств и текущими значениями каждого из этих свойств.
Изменение состояния объекта отражается в его информационной модели изменением значений его свойств. Как правило, объекты не остаются неизменными. Например, растет стаж работы учителя И.И. Иванова; на жестком диске изменяется объем занятой памяти; документ может быть перенесен на другой диск, в другую папку и пр. Все эти процессы в информационной модели отражаются изменениями значений свойств.
В объектно-информационной модели отражаются не только свойства, но также и поведение объекта. Поведение объекта — действия, которые могут выполняться над объектом или которые может выполнять сам объект. Теперь опишем поведение объектов из нашего примера.
Объекты, обладающие одинаковыми свойствами и поведением, образуют класс объектов. Каждый объект является экземпляром какого-либо класса. Все преподаватели обладают одним и тем же набором свойств (имя, стаж работы, читаемый курс) и поэтому образуют класс объектов. Присвоим этому классу имя "Преподаватель". Каждый конкретный преподаватель — экземпляр этого класса (или объект). Следовательно, "Мой преподаватель" — экземпляр класса "Преподаватель". Аналогично можно ввести класс "Жесткий диск", объединив в нем все жесткие диски. Тогда "Мой жесткий диск" — экземпляр класса "Жесткий диск". Если принять во внимание, что класс "Документ" описывает свойства и поведение всех документов, то "Важный документ" — экземпляр класса "Документ". Таким образом, экземпляр класса (объект) — это конкретный предмет или образ, а класс определяет множество объектов с одинаковыми свойствами и поведением. Класс может порождать произвольное число объектов, однако любой объект относится к строго фиксированному классу.
Иерархии классов. Объектно-информационные модели имеют иерархическую структуру (дерево). Иерархичность проявляется в том, что некоторый класс сам может быть подмножеством другого, более широкого класса. Вот пример иерархической классификации из биологии: вид "Насекомые" включает в себя два отряда: "Крылатые" и "Бескрылые"; в свою очередь, "Крылатые" насекомые делятся на подотряды: "Мотыльки", "Бабочки", "Мухи" и т.д. В такой иерархической структуре между классами определяется отношение наследования. Наследование — это такое отношение между классами, когда один класс повторяет свойства и поведение другого класса. Такой способ классификации, в частности, хорошо согласуется с механизмом биологического наследования в мире насекомых. Классы верхних уровней являются более общими по отношению к нижним. При спуске по дереву каждый следующий класс является более специфичным и в то же время наследует все свойства своих предшественников. Класс, свойства и поведение которого наследуются, называется суперклассом (или базовым классом). Производный от суперкласса класс называется подклассом. В нашем примере "Насекомые" — суперкласс для подклассов "Крылатые", "Бескрылые", "Мотыльки", "Бабочки", "Мухи", а "Крылатые" — суперкласс для подклассов "Мотыльки", "Бабочки", "Мухи". В подклассе дополняются свойства и уточняется поведение суперкласса. При определении класса "Мухи" нет необходимости вводить свойство "Наличие крыльев", так как это свойство наследуется из суперкласса "Крылатые". Еще один пример. Рассмотрим систему классов, отражающих сведения о различных видах транспорта. Свойства и поведение, присущие каждому классу, отражены в таблице ниже. Здесь звездочками отмечены наследуемые свойства и действия. Все самые общие свойства располагаются в суперклассе "Транспорт". Эти свойства наследуются классами "Автомобиль", "Грузовик", "Корабль", "Авианосец" и "Самолет". Кроме того, свойства "Марка." и "Пробег" наследуются классом "Грузовик" от базового класса "Автомобиль", а свойства "Нахождение" и "Водоизмещение" наследуются классом "Авианосец" от базового класса "Корабль". Столбец Поведение (действия) позволяет проследить наследование действий.
А теперь определим экземпляры классов (объекты) и значения их свойств.
Таким образом, определены три экземпляра класса "Автомобиль". Для определения экземпляров (объектов) других классов необходимо аналогичным образом задать значения свойств. Подводя итог, сделаем вывод о том, что такое объектно-информационная модель (ОИМ). ОИМ включает в себя описание иерархической системы классов, между которыми действуют отношения наследования. Аля каждого класса определяется совокупность присущих ему свойств и действий (поведения), указывается, какие свойства и действия являются наследуемыми, а какие — специфическими. Для каждого объекта, входящего в ОИМ, указывается класс, элементом которого он является, а также конкретные значения свойств.
Воспользуйтесь поиском по сайту: ![]() ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|