Создание и уничтожение объектов

Конструкторы – это специальные операции, создающие новые экземпляры классов. Эти операции должны иметь область действия – класс.
Если бы они были уровня экземпляра, не было бы возможности создать первый экземпляр класса.
Конструкторы – забота проектирования. Обычно их не показывают на аналитических моделях.
В разных языках программирования действуют разные стандарты именования конструкторов. Абсолютно универсальный подход – называть конструктор просто create(…) (создать). Это делает понятным назначение данной операции. Однако языки Java, C# и C++ требуют, чтобы имя конструктора совпадало с именем класса.
У класса может быть несколько конструкторов с одинаковыми именами, но с разным набором параметров. Конструктор без параметров называют применяемым по умолчанию конструктором (default constructor). Параметры конструктора можно использовать для иниции ализации значений атрибутов в момент создания объекта.
При каждом создании объекта BankAccount в качестве параметра в его конструктор должно передаваться значение типа String. Эта строка используется для задания атрибута accountNumber (номер счета) (например, значение “XYZ001002”). Тот факт, что конструктору класса BankAccount необходим параметр, говорит о том, что создать объект BankAccount, не определив этот параметр, нельзя. Это гарантирует задание атрибута accountNumber каждого объекта BankAccount в момент создания объекта. Это очень хороший стиль.
В аналитических моделях обычно не занимаются конструкторами (и тем более деструкторами). Они не имеют ни влияния, ни отношения к бизнес-семантике класса. Если все-таки есть желание обозначить операции создания, можно ввести операцию create() без параметров как структурный нуль. Или можно указать только параметры, имеющие в перспективе существенное значение.
Когда дело дойдет до детального проекта, необходимо будет определить имя, типы параметров и возвращаемый тип каждой операции. Сюда входит и явное описание конструктора и деструктора.
Уничтожение объекта не такая простая операция, как его создание.
В разных ОО языках программирования семантика уничтожения объекта разная. Более подробно создание и уничтожение объектов рассматриваются в следующих разделах.

Запись опубликована в рубрике Компьютеры и интернет с метками . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

code