Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методички итоговые.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.85 Mб
Скачать

5.23.11. Задание видимости операции

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

Public (Общая). Операция доступна всем остальным классам. Любой класс может запросить ее выполнение. Private (Закрытая). Операция не доступна ни одному другому классу. Protected (Защищенная). Доступ к операции разрешен только для самого класса и его потомков. Package or Implementation (Пакетная). Операция доступна только классам данного пакета.

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

Как говорилось ранее, на диаграммах классов разрешается использовать стандартную нотацию UML или собственную нотацию Rational Rose. Допускается переключение между ними.

Для операции область видимости назначается способом аналогичным назначению видимости атрибутов.

5.23.12. Добавление аргументов к операции

Аргументы, или параметры, операции - это получаемые ею входные данные. Для каждого аргумента должны быть заданы имя и тип данных. На диаграмме классов аргументы и их типы указываются в скобках после имени операции. При желании для аргументов можно задавать также их значения по умолчанию. В таком случае но­тация UML будет иметь вид, приведенный на рис. 5.15.

Имя операции (аргумент1 : тип данных аргумента1 = значение по умолчанию аргумента1) : тип возвращаемого значения операции.

Рисунок 5.15. Добавление аргументов к операции.

При генерации кода Rational Rose будет генерировать имя операции, ее аргументы, их типы данных и зна­чения по умолчанию, а также тип возвращаемого значения. Если к операции было добавлено текстовое описание, Rational Rose создает комментарии. Для добавления аргумента к операции откройте окно спецификации операции (или стандартное окно спецификации). Перейдите на вкладку Detail (Подробно). Щелкните правой кнопкой мыши в области аргументов. В открывшемся меню выберите Insert (Вставить). Введите имя аргумента. Щелкните мышью на колонке Туре (Тип) и введите тип данных аргумента. При необходимости щелкните на колонке Default (По умолчанию) и введите значение аргумен­та по умолчанию.

Для удаления аргумента операции откройте окно спецификации операции (или стандартное окно спецификации). Перейдите на вкладку Detail (Подробно). В списке аргументов щелкните правой кнопкой мыши на удаляемом аргументе. В открывшемся меню выберите пункт Delete (Удалить). Подтвердите удаление.

5.23.13. Определение протокола операции

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

Вводимая таким образом информация будет включена в генерируемый код в качестве коммента­рия, но не повлияет на сам код. Экран протокола операции представлен на рис. 5. 16.

Для задания протокола операции откройте окно спецификации операции (или стандартное окно спецификации). Перейдите на вкладку Detail (Подробно). Введите протокол в поле Protocol.

Рисунок 5.15. Добавление новой операции в окно спецификации.