Объектов, которые обладают одинаковой структурой, поведением
и отношениями с объектами из других классов. Графически класс
изображается в виде прямоугольника, который дополнительно может
быть разделен горизонтальными линиями на разделы или секции. В
этих разделах могут указываться имя класса, атрибуты (переменные) и
операции (методы).
На начальных этапах разработки диаграммы отдельные классы могут обозначаться простым прямоугольником с указанием только имени соответствующего класса (рис. а). По мере проработки отдельных компонентов диаграммы описания классов дополняются атрибутами (рис. б) и операциями (рис. в).
Классы
· Окончательный вариант диаграммы содержит наиболее полное описание классов, которые состоят из трех разделов или секций. Иногда в обозначениях классов используется дополнительный четвертый раздел, в котором приводится семантическая ииннффооррммаацциияя ссппррааввооччннооггоо ххааррааккттеерраа ииллии яяввнноо указываются исключительные ситуации.
Имя атрибута
· Имя атрибута представляет собой строку текста, которая используется в качестве идентификатора
ооооттввееттссттввууюющщееггоо ааттррииббууттаа ии ппооээттооммуу должна быть уникальной в пределах данного класса. Имя атрибута является единственным обязательным элементом синтаксического обозначения атрибута.
Тип атрибута
· Тип атрибута представляет собой
выражение, семантика которого определяется языком спецификации
соответствующей модели. В нотации UML
тип атрибута иногда определяется в
ааввииссииммооссттии оотт яяззыыккаа ппррооггррааммммиирроовваанниияя
который предполагается использовать для реализации данной модели. В простейшем
случае тип атрибута указывается строкой
текста, имеющей осмысленное значение в пределах пакета или модели, к которым
относится рассматриваемый класс.
Примеры задания имен и типов атрибутов классов
· цвет: Соlоr - здесь цвет является именем атрибута, Color - именем типа данного атрибута.
· имя_сотрудника [1..2] : String - здесь имя_сотрудника является именем атрибута, который служит для представления информации об имени, а возможно, и отчестве конкретного сотрудника. Тип атрибута String (Строка) как раз и указывает на тот факт, что отдельное значение имени представляет собой строку текста из одного или двух
лов (например, "Кирилл" или "Дмитрий Иванович").
· видимость:Boolean - здесь видимость есть имя абстрактного атрибута (курсив здесь не случаен), который может характеризовать наличие визуального представления соответствующего класса на экране монитора. В этом случае тип Boolean означает, что возможными значениями данного атрибута является одно из двух логических значений: истина (true) или ложь (false). При этом значение истина может соответствовать наличию графического изображения на экране монитора, а значение ложь - его отсутствию
· форма:Многоугольник - здесь имя атрибута форма может характеризовать такой класс, который является геометрической фигурой на плоскости. В этом случае тип атрибута Многоугольник указывает на тот факт, что отдельная геометрическая фигура может иметь форму треугольника, прямоугольника, ромба, пятиугольника и любого другого многоугольника, но не окружности или эллипса.
Примеры записи операций
· +создать() - может обозначать абстрактную операцию по созданию отдельного объекта класса, которая является общедоступной и не содержит формальных параметров. Эта операция не возвращает никакого значения после своего выполнения.
· +нарисовать(форма: Многоугольник = прямоугольник, цвет_заливки: Color = (0, 0, 255)) - может обозначать операцию по изображению на экране монитора прямоугольной области синего
вета, если не указываются другие значения в качестве аргументов анной операции.
· запросить_счет_клиента(номер_счета:Integег):Сиггеnсу -обозначает операцию по установлению наличия средств на текущем счете клиента банка. При этом аргументом данной операции является номер счета клиента, который записывается в виде целого числа (например, "123456"). Результатом выполнения этой операции является некоторое число, записанное в принятом денежном формате (например, $1,500.00).
· выдать_сообщение():{"Ошибка деления на ноль"} Данное сообщение может появиться на экране монитора в случае попытки деления некоторого числа на ноль, что недопустимо.
Отношения между классами
Базовыми отношениями или связями в языке UML являются:
· Отношение зависимости ттнноошшееннииее аассссооццииааццииии
· Отношение · Отношение · Отношение
· Отношение
обобщения реализации агрегации
композиции