Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Классы и пакеты.doc
Скачиваний:
3
Добавлен:
07.09.2019
Размер:
178.18 Кб
Скачать

Работа с классами

После создания диаграммы Классов нужно добавить новые классы в модель. Доступны классы неско­льких типов: регулярные, параметризованные, классы-наполнители, утилиты классов, утилиты пара­метризованных классов, утилиты классов-наполнителей и метаклассы.

Rose предоставляет ряд возможностей по детализации классов. Каждому классу можно дать имя, определить его стереотип, указать видимость, а также задать несколько других параметров.

Добавление классов

Для начала поместим на диаграмму стандартный класс. Это можно сделать несколькими способами: с помощью панели инструментов, браузера и меню.

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

Рис. 5.5. – Добавление нового класса

С помощью меню Tools > Create можно также создавать регулярные, парамет­ризованные классы, классы-наполнители, утилиты классов, утилиты парамет­ризованных классов, утилиты классов-наполнителей.

Удаление классов

Как и в случае других элементов модели, существуют два способа удаления классов. Вы можете удалить класс с диаграммы, но оставить его на других диаграммах. Кроме того, можно удалить его из модели. Для удаления класса с диаграммы Классов:

  1. Выделите его на диаграмме.

  2. Нажмите клавишу Delete.

  3. Обратите внимание, что, хотя класс исчез с диаграммы, он остался на других диаграммах и и браузере.

Для удаления класса из модели:

  1. Выделите его на диаграмме.

  2. В меню модели выберите пункт Edit >- Delete from Model (Правка > Удалить из модели) или нажмите комбинацию клавиш CTRL+D.

ИЛИ

  1. Щелкните правой кнопкой мыши на классе в браузере.

  1. В открывшемся меню выберите пункт Delete. Класс будет удален со всех диаграмм Классов и из браузера.

Спецификации класса

Большинство определяемых для класса параметров доступно в окне спецификации класса, показан ном на рис. 5.7. В частности, это окно позволяет указать стереотип класса, а также его видимость и устойчивость (persistence).

Рис. 5.7. – Окно спецификации класса

Добавление параметризованного класса

Параметризованный класс (parameterized class)  – один из специальных типов классов. Он применяется для создания семейства других классов. Обычно параметризованный класс является разновидностью контейнера, его еще называют шаблоном. В частности, если у вас есть параметризованный класс List (Список), то с помощью экземпляров этого класса вы можете создать такие классы, как EmployeeLisi OrderList и AccountList (соответствующие спискам сотрудников, заказов и счетов), как показан, ниже.

На языке UML параметризованный класс изображается с помощью следующей нотации:

Изображение класса.

Задание аргументов параметризованного класса

Аргументы класса указываются в прямоугольнике, выделенном пунктирными линиями. На основе ар­гументов создаются элементы стандартного класса. Например, если в приведенной выше нотации за­менить параметр "Элемент" специфическим элементом, например Employee (Сотрудник), то будет инициализирован класс EmployeeList.

Аргументом может быть другой класс, тип данных или выражение-константа. Вы можете задавать неограниченное количество аргументов.

Для добавления аргумента:

  1. Откройте окно спецификации класса.

  2. Перейдите на вкладку Detail (Подробно).

  1. Щелкните правой кнопкой мыши в поле Name области Formal Arguments (Формальные аргу­менты).

  1. В открывшемся меню выберите пункт Insert (Вставить).

  2. Введите имя аргумента.

  3. Щелкнув мышью, раскройте список Туре (Тип). Выберите один из типов аргумента или введите свой.

  4. Щелкните в поле Default Value (Значение по умолчанию) и введите значение аргумента по умол­чанию. (Это делать не обязательно.)

Рис. 5.8. – Задание аргументов параметризован­ного класса

Для удаления аргумента:

  1. Откройте окно спецификации класса.

  2. Перейдите на вкладку Detail.

  3. Щелкните правой кнопкой мыши на удаляемом аргументе.

  4. В открывшемся меню выберите пункт Delete.

Создание класса-наполнителя

Класс-наполнитель (instantiated class) является параметризованным классом, аргументы которого име­ют фактические значения. В частности, в рассмотренном выше примере мы имеем дело со списком некоторых элементов. Определив значение аргумента, мы получим список сотрудников. В соответст­вии с нотацией UML, имя аргумента класса-наполнителя заключается в угловые скобки (< >).