Шаг 114.
Унифицированный язык моделирования UML.
Имена и операции экземпляров

    На этом шаге рассмотрим имена и операции экземпляров в UML.

    Каждый экземпляр может обладать именем, отличающим его в данном контексте от остальных экземпляров. Обычно объект существует в контексте операции, компонента или узла. Имя представляет собой текстовую строку, например t или myCustomer (мойПокупатель) на рис. 1.


Рис.1. Именованные и анонимные экземпляры

    Само по себе имя называется простым. Абстракция экземпляра может иметь как простое имя, скажем Transaction (Транзакция), так и квалифицированное, например Multimedia::AudioStream (Мультимедиа::Аудиопоток). Составное имя образуется путем добавления перед именем абстракции имени пакета, в котором она находится.

    Объект можно именовать явно (myCustomer и т.п.), делая его имя осмысленным для пользователя. Можно дать ему простое имя и скрыть его абстракцию, если она очевидна из контекста. Однако зачастую настоящее имя объекта известно только компьютеру, который с ним работает. В таких случаях появляется анонимный объект (например, :AudioStream). Каждое появление анонимного объекта отлично от всех других его появлений. Если вы даже не знаете абстракцию объекта, то должны по крайней мере дать ему явное имя.

    Имя и тип объекта записываются в одну строку, например t:Transaction. В случае с объектом, в отличие от роли в структурированном классе, вся строка подчеркнута.

    Имя экземпляра может состоять из любых букв латинского алфавита, цифр и некоторых знаков препинания (за исключением таких, как двоеточие, которое применяется для отделения имени экземпляра от имени его абстракции). Имя может занимать несколько строк (количество символов не ограничено). На практике для именования экземпляров используют одно или несколько коротких существительных, взятых из словаря моделируемой системы. При этом каждое слово, кроме первого, обычно пишется с прописной буквы (например, t или myCustomer).

    Объект не просто занимает определенное место в реальном мире – он поддается неким манипуляциям. Операции, выполняемые объектом, объявляются в его абстракции. Например, если класс Transaction (Транзакция) содержит операцию commit (совершить) и у него имеется экземпляр t : Transaction, то можно написать выражение t.commit(). Его выполнение означает, что над объектом t осуществляется операция commit. В зависимости от связанной с этим классом иерархии наследования данная операция может быть вызвана полиморфно.

    На следующем шаге рассмотрим состояние объекта в UML.




Предыдущий шаг Содержание Следующий шаг