OpenU.Ru
Создание нового экземпляра элемента
модели.
См. initialization.
Семантика
Экземпляры создаются во время выполнения в результате примитивных действий
или операций создания. Во-первых, создается индивидуальность
нового экземпляра, затем структура данных размещается в памяти, после чего происходит
инициализация знамений свойств этого экземпляра (таким образом, как предписывает
дескриптор и операция создания).
Зависимость использования создания экземпляров указывает на отношения, существующие
между операцией по созданию экземпляров или классом, в котором содержится такая
операция, и классом создаваемых экземпляров объектов.
Объекты. При создании новый объект обладает индивидуальностью,
памятью и проходит инициализацию. При инициализации
объекта определяются значения его атрибутов, ассоциаций и состояния управления.
Как правило, каждый конкретный класс имеет одну или несколько операций-конструкторов
с областью действия в масштабе класса, цель которых состоит в создании новых
объектов этого класса. В основе всех операций-конструкторов лежит неявная примитивная
операция, создающая новый экземпляр, который затем инициализируется при помощи
операций-конструкторов. Форма только что созданного экземпляра определяется
дескриптором, однако, значения при этом еще не были инициализированы, поэтому
могут быть семантически противоречивы. Экземпляр не будет доступен остальной
системе до тех пор, пока не закончится его инициализация, которая должна начинаться
непосредственно после создания этого экземпляра.
Связи
Точно так же - при помощи действий или операций - создаются связи. Как правило,
это происходит посредством операций с областью действия в масштабе экземпляра,
принадлежащей одному из классов-участников ассоциации, а не при помощи операций-конструкторов
самого элемента ассоциации (впрочем, и такой вариант является одной из возможных
техник реализации). И опять-таки, как и в случае с объектами, в основе создания
лежит неявная примитивная операция по созданию новой связи между определенным
кортежем объектов. Эта операция не даст результата в том случае, если такая
же ассоциация уже существует в данном кортеже (так как потенциальные значения
ассоциации представляют собой множество, а значит, не могут иметь одинаковых
значений). В случае создания обычной ассоциации больше делать ничего не нужно.
Если же создается связь класса ассоциаций, то необходимо провести инициализацию
значений ее атрибутов.
Экземпляры вариантов использования. После создания экземпляр варианта использования
начинает выполняться в начале того варианта использования, который им управляет.
При этом экземпляр варианта использования может временно следовать другому варианту
использования, связанного с исходным отношением расширения или включения, после
чего продолжает выполнять исходный вариант использования. Подойдя к концу того
варианта использования, которому он следует, экземпляр завершает свою работу.
Прочие экземпляры. Создание экземпляров прочих дескрипторов описывается подобным
двух шаговым процессом. Сначала производится непосредственное создание, когда
экземпляр получает индивидуальность, а его структуры данных - место в памяти.
Затем следует инициализация значений нового экземпляра, которая гарантирует,
что он будет подчиняться всем относящимся к нему ограничениям. Например, активация
создается неявно - в виде прямого следствия вызова операции.
Описать механизм создания экземпляров более точно можно только зная его среду
выполнения.
Нотация
Зависимость создания экземпляров изображается в виде пунктирной стрелки, идущей от операции или класса, который осуществляет создание экземпляров, к классу, экземпляры которого создаются, К стрелке прикрепляется стереотип "instantiate".
Обсуждение
Иногда под созданием экземпляров понимают связывание шаблона с целью создания
связанного элемента, однако, связывание слишком специфично для такого отношения.