Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТРПО-лекции3.pdf
Скачиваний:
117
Добавлен:
09.02.2015
Размер:
2 Мб
Скачать
☆

22.03.2011

Операции

Видимость ИМЯ(Список параметров):ВовзращаемыйТип,характеристики-

Записать – только имя +записать – вид и имя

Зарегистрировать (И:Имя, Ф:Фамилия) БанансСчета(): Integer

Нагревать(),guarded-

Характеристики операций.

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

isQuery – выполнение данной операции не изменяет состояние объекта.

Sequential – в каждый момент времени допустим только поток вызовов, в объект поступает только один вызов операции.

guarded – допускается одновременное поступление в объект нескольких вызовов. Т.е. параллельные потоки управления ставятся в очередь и выполняются последовательно. Тогда помечаем Этой характеристикой.

Concurrent – разрешается параллельное (множественное) выполнение операции.

Если атрибутов слишком много, то есть вариант – использовать многоточие. Иногда используют группировку, а под этими группами ставят многоточие.

Группировка

Класс «обслуживание заказов»:

Обслуживание заказов

<<конструктор>> НовыйЗаказ()

…

<<процесс>> ОбработатьЗаказ()(О:Заказ)

…

<<проверка>> ПроверитьЗаказ()

…

Романова Т.Н. – Технология программирования [2011]by Melvin

Страница 26

Множественность. Как ее обозначить?

Множественность экземпляров в классе.

1

3

КотроллерУглов ДатчикУгла Управление*3..*+:Порт

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

Ассоциация

 

 

 

 

 

 

 

 

Обобщение

подкласс

суперкласс

Зависимость

зависимый

независимый

Реализация

приемник

источник

Агрегация

часть

целое

Композиция

часть

целое

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

 

Студент

 

институт

 

 

муж

жена

 

ИВАН

 

МАРЬЯ

 

 

 

 

 

 

 

 

 

 

Множественность ассоциативной связи:

5 – ровно 5 * – неограниченное количество

0–* – ноль или более 1..* или 3..7 – тип «диапазон»

3..7, 10 – «диапазон и число».

 

1..*

*

 

Персона

Организация

работник

работодатель

 

 

 

1..*

*

 

Преподаватель

Университет

 

работодатель

 

работник

 

 

 

 

КлассРабота ассоциация

Описание контракта Срок действия Оклад

Романова Т.Н. – Технология программирования [2011]by Melvin

Страница 27

Отношения зависимости.

Зависимость является отношением между клиентом…

Заказ

 

Книга

 

 

 

 

 

ПроверкаДоступность()

Зависимый

 

 

класс

 

 

Добавить()

Независимый класс

 

Удалить()

 

 

 

 

использует

 

 

Просмотр заказа

Реализация

 

 

 

 

работник

 

 

 

 

 

работает()

 

 

 

 

 

 

 

 

 

 

 

 

 

Стрелочки не

 

 

 

 

 

закрашены, штоб

Певец

использует

их…

 

 

 

 

 

 

 

 

Официант

 

 

 

 

 

 

Певец

Работает()

 

 

 

 

 

Работает()

 

 

 

 

 

 

 

 

 

 

 

 

Стрелки не

 

 

 

 

 

закрашены

 

 

 

 

 

 

 

 

 

 

 

 

Поющий_официант

 

 

 

 

 

 

работает()

 

 

 

 

 

 

 

 

 

 

Романова Т.Н. – Технология программирования [2011]by Melvin

Страница 28

29.03.2011

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

Абстрактный класс.

{root} – тек, который обозначает абстрактный класс.

Млекопитающие

{root}

Вес: integer

Возраст: integer

отображатьВнешнийВид()

УзнатВес():Integer{leaf}

Собаки

Обученность: boolean

Лаять()

Кошки

Пушистость: Boolean

ВлезатьНаДерево():boolean

ОхотничньиСобаки

ОхотничьиНавыки: String

отображатьВнешнийВид()

ОхотничньиСобаки

{leaf}

НаличиеРодословной: String

отображатьВнешнийВид()

Романова Т.Н. – Технология программирования [2011]by Melvin

Страница 29