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

Объекты (objects)

  1. Объекты– экземпляр класса, его частный пример, создаётся на этом выполнения программы. Это – мгновенный снимок системы, каждый объект обладает индивидуальностью. Таким образом диаграмма классов, является частным случаем (примером) диаграммы классов, графически объект изображается так же, как класс. Для объекта указываются конкретные значения атрибутов, как его собственных, так и наследуемых от всех классов-предков. Тип атрибута пишется с большой буквы, сам атрибут с малой буквы. Чтобы отличить его от класса,имя подчёркивается.

  1. Если атрибут изменяемый, по умолчанию, то во время выполнения значение может измениться, если frozen – то нет. Значения должны удовлетворять всем явным и неявным ограничениям в модели. У атрибутов не может быть дубликатов! Наследованием наследуется только один атрибутиз дублей. Объект может менять свой непосредственный класс в динамике, но делается это специальной операцией.

  2. При этом в множественном случае непосредственный класс, хотя бы один, должен оставаться, иначе объект должен быть уничтожен. Для объекта может быть вызвана любая операция его класса и всех классов-предков. Значением типа атрибута может быть класс, тогда в качестве значения может использоваться как этот класс, так и любой из его потомков. В объекте разделов всего 2: имя и атрибуты, операции не изображаются – они общие для всех объектов.

  3. Перед именем класса может ставиться имя пакета. Оно определяется двойным двоеточием. Пример: displayWindow:WindowingSystem::GraphicWundows::Window.

  4. Таким образом отображается иерархия пакетов. Стереотипы классов на объекте ставится в угловых скобках или изображаются пунктограммой в верхнем правом углу. Все связи – сплошными линиями. При множественном наследовании классы могут быть перечислены через запятую. Например: APerson: Professor, Teacher; Сотрудник: Профессор, преподаватель. В атрибутах типы можно не указывать.

  5. При изменении значений атрибутов объект надо изображать вновь, связывая с предыдущим символом превращения. Более подробно – в диаграмме кооперации.

  6. Диаграмма объектов обычно создаётся для отдельных объектов со сложным поведением и взаимодействием.

Шаблоны (параметризованные классы)

Шаблон (template) – элемент модели с параметрами, для использования которого необходимо связать параметры с конкретными значениями.

Параметров может быть один или несколько. Таким образом, шаблон определяет варианты элемента (обычно это либо типы атрибутов, либо операции).

Изображается наложением маленького пунктирного прямоугольника на правый верхний угол символа класса.

  1. Шаблон не может быть использован непосредственно как класс, обычно это суперкласс, а его параметры уточняются в потомках. В этом случае они связываются зависимостью (dependency) bind (стереотип) – связывать с использованием шаблона.

Более частный случай – отношение обобщения с наследованием свойств шаблона.

  1. Адрес может быть получен из шаблона. Связный – список связыванием параметров S, K, I с атрибутами “улица, дом, квартира”. Этот же шаблон может использоваться и для других классов. Например, точки на плоскости (координаты точки, х,у).

  2. За счёт шаблонов (параметризированных классов) можно существенно уменшить размеры диаграммы.

  3. Параметры используются только внутри шаблона, поэтому даже при одинаковых именах параметры в разных шаблонах считаются различными. Лучше избегать ситуаций со связыванием шаблонов друг с дгугом, это сильно усложняет модель.