Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3.ПРАКТИКА / SEM3 / Literatura / INFORMATIKA_18_2003.doc
Скачиваний:
65
Добавлен:
21.03.2015
Размер:
357.89 Кб
Скачать

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

Рассмотрим еще один подход к информационному мо­делированию, который называется объектно-ориентирован­ным подходом. Главным понятием здесь является "объект".

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

С точки зрения восприятия человеком объекты мож­но разделить на следующие группы:

  • осязаемые, или видимые, предметы (например: кресло, автомобиль, мост);

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

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

Имя объекта

Свойства

Мой преподаватель

Имя Стаж работы Читаемый курс

Мой жесткий диск

Объем Количество занятой памяти

Важный документ

Имя Дата создания Объем занимаемой памяти Местоположение

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

Имя объекта

Свойства

Значения свойств

Мой преподаватель

Имя

Иванов Иван Иванович

Стаж работы

10 лет

Читаемый курс

Математика

Мой жесткий диск

Объем

10 Гб

Количество

5 Гб

занятой памяти

Важный документ

Имя

main.doc

Дата создания

20 июня 2002 года

Объем занимаемой памяти

50 Кб

Местоположение

С: \ Documents

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

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

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

Имя объекта

Поведение (действия)

Мой преподаватель

Чтение лекции Прием экзамена Проведение консультации

Мой жесткий диск

Форматирование Копирование

Важный документ

Открытие Чтение Запись Копирование Переименование

А сейчас введем еще одно очень важное понятие для объектно-информационного моделирования — понятие класса.

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

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

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

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

НАСЕКОМЫЕ

КРЫЛАТЫЕ

БЕСКРЫЛЫЕ

Мотыльки Бабочки Мухи

Фрагмент классификации насекомых

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

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

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

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

Система классификации транспортных средств

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

Имя класса

Свойства

Поведение (действия)

Транспорт

Скорость Мощность Цена

Движение вперед

Автомобиль

Скорость* Мощность* Цена* Марка Пробег

Движение вперед* Движение назад

Грузовик

Скорость* Мощность* Цена* Марка* Пробег* Грузоподъемность

Движение вперед* Движение назад

Корабль

Скорость* Мощность* Цена* Нахождение Водоизмещение

Движение вперед* Движение назад

Авианосец

Скорость* Мощность* Цена* Нахождение* Водоизмещение* Количество самолетов

Движение вперед* Движение назад* Запуск самолета

Самолет

Скорость* Мощность* Цена* Название Максимальная высота полета

Движение вперед* Движение вверх Движение вниз

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

Имя класса

Имя

Свойства

Значения

экземпляра

свойств

класса

(объекта)

Автомобиль

Мой

Скорость*

130 км/ч

автомобиль

Мощность*

85 л. с.

Цена*

156 000 руб.

Марка

"Нива"

Пробег

10 000 км

Автомобиль

Автомобиль

Скорость*

200 км/ч

друга

Мощность*

95 л. с.

Цена*

180 000 руб.

Марка

"ВАЗ-2110"

Пробег

15 000 км

Автомобиль

Машина

Скорость*

250 км/ч

соседа

Мощность*

408 л. с.

Цена*

$123 000

Марка

"Мерседес-600"

Пробег

20 000 км

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

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

Коротко о главном

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

Информационная модель объекта включает в себя опи­сание его характерных свойств и поведения (действий).

Множество объектов с одинаковым набором свойств и действий образуют класс.

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

Объектно-информационная модель включает в себя описание иерархии классов и отдельных объектов с кон­кретными значениями свойств.

Вопросы и задания

1. Привести примеры объектов (не менее трех), их свойств, значений свойств и поведения.

2. Задан набор классов, которые содержат сведения о различных видах бытовой техники:

БЫТОВАЯ ТЕХНИКА

(фирма, название товара, цена)

Часы

(цвет, форма, наличие будильника)