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

2.5.1.6.4. Задание метода локализации атрибута

Возможны три значения этого параметра:

By value (По значению) - предполагается, что атрибут содержится внутри класса. Например, если атрибут относится к типу string, эта строка будет содержаться внутри определения класса.

By reference (По ссылке) - предполагается, что атрибут локализован вне класса, но класс содер­жит указатель на него. Например, у класса Task (Поручение) может быть ат­рибут типа TaskSource (Источник поручения). Сам объект taskSource размещен вне объекта task. Таким образом, этот атрибут является указателем на внешний объект taskSource.

Unspecified (He определен) - метод локализации атрибута еще не определен. В этом случае при генерации кода по умолчанию применяется значение By value этого параметра.

2.5.1.6.5. Определение статичного атрибута

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

Статичный атрибут (static) — это такой атрибут, который используется всеми экземплярами клас­са. Если бы атрибут ЕxecutionDate был статичным, он был бы общим для всех трех созданных экземпляров поручений.

На языке UML статичный атрибут помечают символом "$" ($ЕxecutionDate).

2.5.1.6.6. Определение производного атрибута

Производным (derived) называется атрибут, созданный из одного или нескольких других атрибутов. На­пример, класс Поручение может иметь атрибуты имя и фамилия. У него также может быть производный атрибут полное имя, вычисляемый как конкатенация имени и фамилии. В UML производные атрибуты помечают символом "/".

2.5.1.7. Работа с операциями

Операцией называется связанное с классом поведение. Операция состоит из трех частей: имени, пара­метров и типа возвращаемого значения. Параметры — это аргументы, получаемые операцией "на вхо­де". Тип возвращаемого значения относится к результату действия операции.

На диаграмме Классов можно показывать как имена операций, так и их параметры и типы возвра­щаемого значения.

На некоторых диаграммах полезно показывать полную сигнатуру операций. Если же нужно упрос­тить диаграмму, лучше оставить только имена.

В языке UML операции имеют следующую нотацию:

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

Операции определяют ответственности классов. При идентификации операций и анализе клас­сов имейте в виду следующее:

- Относитесь с подозрением к любому классу, имеющему только одну или две операции. Возмож­но, класс написан совершенно правильно, но его следует объединить с каким-нибудь другим классом.

- С величайшим подозрением относитесь к классу без операций. Как правило, класс инкапсули­рует не только данные, но и поведение. Класс без поведения лучше моделировать как один или несколько атрибутов.

- С осторожностью относитесь к классу со слишком большим числом операций. Набор ответственностей класса должен быть управляем. Если класс очень большой, им будет трудно управ­лять. В такой ситуации лучше разделить класс на два меньших.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]