Основы программирования

купить юридический адрес
Основы объектно-ориентированного представления программных систем - Операции
Индекс материала
Основы объектно-ориентированного представления программных систем
Инкапсуляция
Модульность
Иерархическая организация
Объекты
Виды отношений между объектами
Видимость объектов
Общая характеристика классов
Виды отношений между классами
Наследование
Полиморфизм
Агрегация
Зависимость
Базис языка визуального моделирования
Предметы в UML
Отношения в UML
Диаграммы в UML
Механизмы расширения в UML
Статические модели объектно-ориентированных программных систем
Операции
Отношения в диаграммах классов
Деревья наследования
Динамические модели объектно-ориентированных программных систем
Действия в состояниях
Вложенные состояния
Диаграммы взаимодействия
Диаграммы последовательности
Актеры и элементы Use Case
Работа с элементами Use Case
Подпотоки
Пример диаграммы Use Case
Построение модели требований
Определение элементов Use Case
Уточнение модели требований
Кооперации и паттерны
Паттерн Наблюдатель
Паттерн Компоновщик
Паттерн Команда
Бизнес-модели
Все страницы
Операции

 

Общий синтаксис представления операции имеет вид

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

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

записать

+ записать

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

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

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

Только имя

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

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

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

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

В сигнатуре операции можно указать ноль или более параметров, форма представления параметра имеет следующий синтаксис:

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

Элемент Направление может принимать одно из следующих значений:

 

in

out

 

inout

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

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

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

 

Допустимо применение следующих характеристик операций:

 

leaf

 

isQuery

sequential

 

guarded

 

 

 

 

concurrent

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

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

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

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

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

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

 

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

 

Рис. 11.3. Стереотипы для характеристик класса

Множественность

 

Иногда бывает необходимо ограничить количество экземпляров класса:

q       задать ноль экземпляров (в этом случае класс превращается в утилиту, которая предлагает свои свойства и операции);

q       задать один экземпляр (класс-singleton);

q       задать конкретное количество экземпляров;

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

Количество экземпляров класса называется его множественностью. Выражение множественности записывается в правом верхнем углу значка класса. Например, как показано на рис. 11.4, КонтроллерУглов — это класс-singleton, а для класса ДатчикУгла разрешены три экземпляра.

 

Рис. 11.4. Множественность

 

Множественность применима не только к классам, но и к свойствам. Множественность свойства задается выражением в квадратных скобках, записанным после его имени. Например, на рисунке заданы три и более экземпляра свойства Управление (в экземпляре класса КонтроллерУглов).