Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Объектно-информационные модели

Объектный подход к информационному моделированию берет свое начало в парадигме объектно-ориентированного программирования (ООП), возникшей в 1970-х годах. Главным понятием здесь является "объект".

Объектчасть окружающей нас действительности.

Понятие объекта является очень широким и объединяет в себе как реальные, осязаемые предметы (например: кресло, автомобиль, мост), так и образы, созданные мышлением человека (например: стихотворение, музыкальное произведение, математическая теорема).

Информационная модель объекта должна отражать некоторый набор его свойств. Свойства объекта — это совокупности признаков, которые отличают его от других объектов. В следующей таблице даны примеры объектов и их свойств.

Имя объекта Свойства
Мой преподаватель Имя Стаж работы Читаемый курс
Мой жесткий диск Объем Количество занятой памяти
Важный документ Имя Дата создания Объем занимаемой памяти Местоположение

У каждого конкретного объекта свойства имеют определенные значения. В нашем примере добавим значения свойств объектов.

Эти значения могут быть количественными величинами (10 лет, 5 Гб), но могут быть и именами других объектов. Например, "Иван Иванович Иванов" и "Математика" сами могут рассматриваться как объекты.

Состояние объекта характеризуется перечнем всех возможных его свойств и текущими значениями каждого из этих свойств.

Имя объекта Свойства Значения свойств
Мой преподаватель Имя Стаж работы Читаемый курс Иванов Иван Иванович 10 дет Математика
Мой жесткий диск Объем Количество занятой памяти 10 Гб 5Гб
Важный документ Имя Дата создания Объем занимаемой памяти Местоположение main.doc 20 июня 2002 года 50Кб С: \ Documents

Изменение состояния объекта отражается в его информационной модели изменением значений его свойств. Как правило, объекты не остаются неизменными. Например, растет стаж работы учителя И.И. Иванова; на жестком диске изменяется объем занятой памяти; документ может быть перенесен на другой диск, в другую папку и пр. Все эти процессы в информационной модели отражаются изменениями значений свойств.

В объектно-информационной модели отражаются не только свойства, но также и поведение объекта. Поведение объектадействия, которые могут выполняться над объектом или которые может выполнять сам объект. Теперь опишем поведение объектов из нашего примера.

Имя объекта Поведение (действия)
Мой преподаватель Чтение лекции Прием экзамена Проведение консультации
Мой жесткий диск Форматирование Копирование
Важный документ Открытие Чтение Запись Копирование Переименование

Объекты, обладающие одинаковыми свойствами и поведением, образуют класс объектов.

Каждый объект является экземпляром какого-либо класса. Все преподаватели обладают одним и тем же набором свойств (имя, стаж работы, читаемый курс) и поэтому образуют класс объектов. Присвоим этому классу имя "Преподаватель". Каждый конкретный преподаватель — экземпляр этого класса (или объект). Следовательно, "Мой преподаватель" — экземпляр класса "Преподаватель". Аналогично можно ввести класс "Жесткий диск", объединив в нем все жесткие диски. Тогда "Мой жесткий диск" — экземпляр класса "Жесткий диск". Если принять во внимание, что класс "Документ" описывает свойства и поведение всех документов, то "Важный документ" — экземпляр класса "Документ".

Таким образом, экземпляр класса (объект) — это конкретный предмет или образ, а класс определяет множество объектов с одинаковыми свойствами и поведением. Класс может порождать произвольное число объектов, однако любой объект относится к строго фиксированному классу.

Иерархии классов. Объектно-информационные модели имеют иерархическую структуру (дерево). Иерархичность проявляется в том, что некоторый класс сам может быть подмножеством другого, более широкого класса. Вот пример иерархической классификации из биологии: вид "Насекомые" включает в себя два отряда: "Крылатые" и "Бескрылые"; в свою очередь, "Крылатые" насекомые делятся на подотряды: "Мотыльки", "Бабочки", "Мухи" и т.д.

В такой иерархической структуре между классами определяется отношение наследования.

Наследование — это такое отношение между классами, когда один класс повторяет свойства и поведение другого класса.

Такой способ классификации, в частности, хорошо согласуется с механизмом биологического наследования в мире насекомых. Классы верхних уровней являются более общими по отношению к нижним. При спуске по дереву каждый следующий класс является более специфичным и в то же время наследует все свойства своих предшественников. Класс, свойства и поведение которого наследуются, называется суперклассом (или базовым классом). Производный от суперкласса класс называется подклассом. В нашем примере "Насекомые" — суперкласс для подклассов "Крылатые", "Бескрылые", "Мотыльки", "Бабочки", "Мухи", а "Крылатые" — суперкласс для подклассов "Мотыльки", "Бабочки", "Мухи". В подклассе дополняются свойства и уточняется поведение суперкласса. При определении класса "Мухи" нет необходимости вводить свойство "Наличие крыльев", так как это свойство наследуется из суперкласса "Крылатые".

Еще один пример. Рассмотрим систему классов, отражающих сведения о различных видах транспорта.

Свойства и поведение, присущие каждому классу, отражены в таблице ниже. Здесь звездочками отмечены наследуемые свойства и действия.

Все самые общие свойства располагаются в суперклассе "Транспорт". Эти свойства наследуются классами "Автомобиль", "Грузовик", "Корабль", "Авианосец" и "Самолет". Кроме того, свойства "Марка." и "Пробег" наследуются классом "Грузовик" от базового класса "Автомобиль", а свойства "Нахождение" и "Водоизмещение" наследуются классом "Авианосец" от базового класса "Корабль". Столбец Поведение (действия) позволяет проследить наследование действий.

Имя класса Свойства Поведение (действия)
Транспорт Скорость Мощность Цена Движение вперед
Автомобиль Скорость* Мощность* Цена* Марка Пробег Движение вперед* Движение назад*
Грузовик Скорость* Мощность* Цена* Марка* Пробег* Грузоподъемность Движение вперед * Движение назад
Корабль Скорость* Мощность* Цена* Нахождение Водоизмещение Движение вперед* Движение назад
Авианосец Скорость* Мощность* Цена* Нахождение* Водоизмещение* Количество самолетов Движение вперед* Движение назад* Запуск самолета
Самолет Скорость* Мощность* Цена* Название Максимальная высота полета Движение вперед* Движение вверх Движение вниз

А теперь определим экземпляры классов (объекты) и значения их свойств.

Имя класса Имя экземпляра, класса, (объекта) Свойства Значения свойств
Автомобиль Мой автомобиль Скорость* Мощность* Цена.* Марка Пробег 130 км/ч 85 лошадиных сил 156 000 рублей "Нива" 10 000 км
Автомобиль Автомобиль друга Скорость* Мощность* Цена* Марка Пробег 200 км/ч 95 лошадиных сил 180 000 рублей "ВАЗ-2110" 15000км
Автомобиль Машина соседа Скорость* Мощность* Цена* Марка Пробег 250 км/ч 408 лошадиных сил 123 000 $ "Мерседес-600 " 20 000 км

Таким образом, определены три экземпляра класса "Автомобиль". Для определения экземпляров (объектов) других классов необходимо аналогичным образом задать значения свойств.

Подводя итог, сделаем вывод о том, что такое объектно-информационная модель (ОИМ). ОИМ включает в себя описание иерархической системы классов, между которыми действуют отношения наследования. Аля каждого класса определяется совокупность присущих ему свойств и действий (поведения), указывается, какие свойства и действия являются наследуемыми, а какие — специфическими. Для каждого объекта, входящего в ОИМ, указывается класс, элементом которого он является, а также конкретные значения свойств.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...