Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб. по методам прогр1 / Лабораторная работа 5.doc
Скачиваний:
25
Добавлен:
10.05.2014
Размер:
161.79 Кб
Скачать

7. Установка режимов отображения класса на экране

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

• автоматическая настройка размера знака (Automatic Resize) – обеспечивает изменение размеров знака для того, чтобы вместить весь вводимый текст: название класса, атрибуты, операции. Данный режим устанавливается по умолчанию и оказывается удобным при первичном вводе названий атрибутов и операций;. В дальнейшем, когда данный класс уже связан с другими классами и занимает свое место на диаграмме классов, указанный режим можно выключить.

• отображение стереотипа (Stereotype Display) – при установке этого режима на экране отображается стереотип данного класса.

• отображение типа доступа к операторам и значениям атрибутов (Show Visibility) – на экране при помощи графических значков отображается тип доступа к операторам и значениям атрибутов (Public, Protected, Private, Implementation).

• отображение всех атрибутов (Show All Attributes) – на экране отображаются все атрибуты.

• отображение всех операций (Show All Operations) – отображаются все операции класса.

• отображение параметров и возвращаемых значений (Show Operation Signature) – для каждой операции отображаются её параметры и возвращаемое значение.

• отображение стереотипа операции или атрибута (Show Compartment Stereotypes) – отображается имя стереотипа для операции или атрибута класса;

• отображение выделенных операций или атрибутов (Select Compartment Items…) – выбор этого пункта позволяет отображать на экране только специально отобранные операции или атрибуты класса. После выбора этого пункта на экране появляется окно Edit Compartment, в котором размещаются две области: All Items и Selected Items. Далее надо перенести атрибуты или операции, которые требуется отображать на экране из области All Items в область Selected Items. Для того, чтобы указанный выбор вступил в силу, необходимо снять знаки выбора с пунктов меню отображение всех атрибутов (Show All Attributes) и отображение всех операций (Show All Operations). После этого на экране будут отображаться только выбранные операции или атрибуты.

• скрыть все атрибуты (Suppress Attributes) – позволяет скрыть все атрибуты в изображении класса, даже если они были выбраны при помощи окна Select Compartment Items.

• скрыть все операции (Suppress Operations) – позволяет скрыть все операции в изображении класса, даже если они были выбраны при помощи окна Select Compartment Items.

8. Моделирование отношений между классами

Назначение и виды связей

При создании диаграмм классов обычно оказывается, что между классами должны быть установлены некоторые отношения. На диаграмме эти отношения отображаются при помощи различного вида связей. Типы связей влияют на получаемый при генерации программный код, поэтому при разработке диаграмм классов необходимо уделить особое внимание построению связей, адекватно моделирующих отношения между элементами системы. При этом могут использоваться следующие виды связей: однонаправленная ассоциативная связь (unidirectionalassociation), функциональная зависимость (dependency), класс ассоциаций (associationclass), отношение наследования (generalization), реализация операции класса, использующая некоторый интерфейс (realization).

Однонаправленная ассоциативная связь

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

Рис. 2. Пример изображения однонаправленной ассоциативной связи на диаграмме классов.

Ниже приводится упрощенный листинг кода C++, который был создан для приведенного на рис. 2 фрагмента диаграммы классов.

Class Class2;

Class Class1

{

public:

Class2* relClass1_2;

};