OpenU.Ru
Установление значения вновь созданного объекта, - а именно значений его атрибутов,
связей принадлежащих ему ассоциаций и состояния управления.
См. instantiation.
Семантика
Теоретически создание нового объекта занимает один шаг. Однако проще представлять
себе процесс создания экземпляра в виде двух
шагов: создания и инициализации. Сначала новая пустая
оболочка объекта вместе с соответствующей структурой слотов атрибутов размещается
в памяти, а затем новый объект наделяется индивидуальностью. Индивидуальность
реализуется различными способами, например, с помощью адреса в блоке памяти,
где содержится объект, или же с помощью счетчика целых чисел. Вне зависимости
от реализации, индивидуальность объекта делает его уникальным во всей системе.
Благодаря этому его можно отыскать и иметь к нему доступ. Однако на данном этапе
создание объекта еще не завершено, так как он еще может не соблюдать различные
ограничения, существующие у его значений и отношений.
Следующим шагом будет инициализация. В эго время оцениваются все выражения,
содержащие объявленные исходные значения атрибутов, а результаты приписываются
их слотам. Значения атрибутом можно вычислить явно, при помощи методов создания,
после чего они заменят собой исходные значения, использовавшиеся по умолчанию.
Эти значения должны удовлетворять всем ограничениям, существующим в данном классе.
С помощью метода создания можно также создавать связи, относящиеся к новому
объекту. Связи должны соответствовать объявленной множественности
ассоциаций, в которой участвует данный класс. По окончании инициализации объект
должен быть полностью готов к использованию и подчиняться всем ограничениям,
которые существуют в его классе. После инициализации атрибуты и ассоциации с
изменяемостью frozen или addOnly нельзя изменять до тех пор, пока объект не
будет уничтожен. Инициализация представляет собой атомарный процесс, который
нельзя прерывать или перемежать другими процессами.