Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 семестр ЗО / Лекции / Лекция 5+.ppt
Скачиваний:
48
Добавлен:
06.02.2016
Размер:
1.71 Mб
Скачать

Лекция 5. Статические модели объектно- ориентированных программных систем

Учебные вопросы:

1.Диаграммы классов.

2.Отношения в диаграммах классов.

3.Деревья наследования.

Литература: [4], [6], [10].

1

Вершины в диаграммах классов

Рисунок 1.1 – Обозначение класса

Рисунок 1.2 – Область действия

2

Свойства

Видимость Имя [Множественность]: Тип = НачЗначение {Характеристики}

Таблица 1.1 – Уровни видимости

public Любой клиент класса может использовать свойство (операцию), обозначается символом +

protected

Любой наследник класса может использовать свойство

 

(операцию), обозначается символом #

 

private

Свойство (операция) может использоваться только самим

 

классом, обозначается символом

-

3

Таблица 1.2 – Характеристики свойств

changeable Нет ограничений на модификацию значения свойства

addOnly Для свойств с множественностью, большей единицы; дополнительные значения могут быть добавлены, но после создания значение не может удаляться или изменяться

frozen После инициализации объекта значение свойства не изменяется

Таблица 1.3 – Примеры объявления свойств

начало

Только имя

+ начало

Видимость и имя

начало : Координаты

Имя и тип

имяфамилия [0..1] : String

Имя, множественность, тип

левыйУгол : Координаты=(0, 10)

Имя, тип, начальное значение

сумма : Integer {frozen}

Имя и характеристика

 

4

Операции

Видимость Имя (Список Параметров): ВозвращаемыйТип {Характеристики}

Таблица 1.4 – Примеры объявления операций

 

записать

 

Только имя

+ записать

 

Видимость и имя

зарегистрировать( и: Имя, ф: Фамилия)

Имя и параметры

балансСчета () : Integer

Имя и возвращаемый тип

нагревать () {guarded}

Имя и характеристика

 

Направление Имя : Тип = ЗначениеПоУмолчанию

Таблица 1.5 – Значения элемента Направление

 

in

Входной параметр, не может модифицироваться

out

Выходной параметр, может модифицироваться для передачи

 

информации в вызывающий объект

inout

Входной параметр, может модифицироваться

Таблица 1.6 – Значения характеристик операций

leaf

isQuery sequential

guarded

Конечная операция, операция не может быть полиморфной и не может переопределяться (в цепочке наследования).

Выполнение операции не изменяет состояния объекта.

В каждый момент времени в объект поступает только один вызов операций. Как следствие, в каждый момент времени выполняется только одна операция объекта. Другими словами, допустим только один поток вызовов (поток управления).

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

concurrent В объект поступает несколько потоков вызовов операций (из параллельных потоков управления). Разрешается параллельное

(и множественное) выполнение операции. Подразумевается, что такие операции являются атомарными.

6

Организация свойств и операции

Рисунок 1.4 – Множественность

Рисунок 1.3 – Стереотипы для характеристик классов

7

Отношения в диаграммах классов

8

ассоциация

обобщение

зависимость

реализация

агрегация

композиция

Рисунок 2.2 – Роли

Ассоциации отображают структурные отношения между экземплярами классов, то есть соединения между объектами.

Каждая ассоциация может иметь метку – имя, которое описывает природу отношения.

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

Студент Учиться Институт

Рисунок 2.1 – Имена ассоциаций

9

Рисунок 2.3 – Мощность

Варианты мощности:

5 — точно пять; * — неограниченное количество;

0..* — ноль или более; 1..* — один или более;

3..7 — определенный диапазон; 1..3, 7 — определенный диапазон или число.

Рисунок 2.4 – Квалификация

Рисунок 2.5 – Видимость

10

 

 

Соседние файлы в папке Лекции