Объектно-ориентированное проектирование — КиберПедия 

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Объектно-ориентированное проектирование

2018-01-03 231
Объектно-ориентированное проектирование 0.00 из 5.00 0 оценок
Заказать работу

Здесь рассматривается подход к объектно-ориентированному проектированию (ОПП), предложенный в книге [2]. Между объектно-ориентированным анализом и объектно-ориентированным проектированием (так же как между языками Pascal и С++) наблюдается терминологическая путаница. То, что в ООА называется объектом в ООП называется классом. То, что в ООА называется экземпляром объекта в ООП называется объектом. Ниже в таблице приведены соответствия терминов.

 

Таблица 6.1. Соответствие терминологии

 

Объектно-ориентированный анализ Объектно-ориентированное проектирование
Объект Класс
Экземпляр объекта Объект
Метод Операция
Атрибут Поле данных

 

В процессе объектно-ориентированного проектирования решаются следующие задачи:

· выбор классов и определение взаимосвязей между ними,

· определение механизмов взаимодействия объектов,

· выбор места объявления классов и объектов,

· распределение вычислительных процессов между исполнителями (процессорами) и методы управления процессами.

Объектно-ориентированный проект состоит из следующих диаграмм:

· диаграмма классов,

· диаграмма объектов,

· диаграмма модулей,

· диаграмма процессов,

· диаграмма переходов,

· временная диаграмма.

Диаграмма классов

Диаграмма классов включает следующие виды компонентов:

· классы,

· иерархия наследования классов,

· утилиты классов.

Классы понимаются так, как указано выше. Графическое обозначения класса содержит его имя и имеет вид, представленный на рис. 6.1.

Рис 6.1. Графическое обозначения класса.

 

Иерархии классов понимаются более широко. В частности рассматривается не только отношение наследования, но и целый ряд других отношений, а именно:

 

Таблица 6.2. Отношения между классами в ООП

Графическое обозначение Смысл
а Использование в интерфейсной части класса (А использует В). Например в качестве параметра метода
б Использование в реализации класса (А использует В). Например в качестве локальной переменной в подпрограмме.
в Включение (А включает В). А и В сравнимые типы
г Включение (А включает В). А и В типы разной природы
д Наследование (А наследует от В). А и В сравнимые типы
е Наследование (А наследует от В). А и В типы разной природы
ж Метакласс. (В - метакласс для А)
з Неопределенный тип связи

Отношение наследования в ООП - это отношение вида "является", в то время как отношение вида "состоит-из" описывается отношениями

а) использование в интерфейсной части класса.

б) использование в реализации класса.

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

Для каждого вида отношений может быть построена собственная диаграмма.

Рассмотрим пример проектирования классов для описания геометрических фигур.

Диаграмма наследования этого примера расположена на Рис. 6.2.

Рис. 6.2. Диаграмма классов для геометрических фигур.

Различные геометрические фигуры могут образовывать изображение. Для описания класса изображений не подходит отношение наследование, т.к. картинка не является подклассом геометрической фигуры, она скорее является накопителем геометрических фигур. На рис. Х.3.3. представлена соответствующая диаграмма.

Рис. 6.3. Диаграмма классов для геометрических фигур и рисунков.

На диаграмме классов могут изображаться так называемые утилиты классов - общедоступные интерфейсные подпрограммы. Отношение между утилитами и классами - те же, что и между классами. Графическое изображение утилиты демонстрируется на рис. 6.4

Рис. 6.4.Графическое обозначение утилиты класса.

Категории классов

Проектирование больших систем требует создания больших диаграмм классов, которые могут оказаться трудными для восприятия. Методом дополнительной декомпозиции может являться создание категорий классов, являющихся наборами классов и категорий классов.

Процесс проектирования и осмысления классов становится более обозримым при использовании категорий. Обозначение категорий классов приведено на рис. 6.5

Рис. 6.5. Графическое обозначение категории классов.

Между категориями классов возможно отношение вида "импортирует -из", обозначенное стрелкой (X > Y обозначает "Y импортирует из X). Для примера с геометрическими фигурами категории классов имеют вид:

Рис. 6.6. Категории классов для геометрических фигур.


Поделиться с друзьями:

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.011 с.