Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
31-40.doc
Скачиваний:
4
Добавлен:
24.09.2019
Размер:
140 Кб
Скачать
☆

2.По тому, кто определяет конструкторы

делятся на конструкторы по умолчанию (не требуют какого-либо упоминания в определении класса) и явно определенные программистом.

Конструкторы по умолчанию: только пустой и копирующий.

Пустой конструктор по умолчанию не инициализирует состояние экземпляра класса. Копирующий конструктор по умолчанию при инициализации осуществляет побайтное копирование состояния указанного существующего экземпляра класса.

Конструкторы, определенные программистом: осуществляют инициализацию состояния экземпляра класса в соответствии с логикой, определенной в конструкторе. Если программист определяет свои конструкторы, будут использоваться именно они.

Итоги:

  • конструктор ничего не возвращает;

  • имя конструктора совпадает с именем класса;

  • в классе может быть определено несколько конструкторов.

Деструктор служит для разрушения экземпляра класса. Опять же, память, занятая экземплярами класса, освобождается в соответствии с используемыми средствами языка; локальный объект уничтожается, когда осуществляется выход за пределы области видимости для этого объекта. Динамический объект уничтожается при выполнении оператора Destroy.

Временный объект уничтожается по окончании вычислений, в которых он используется.

В момент уничтожения объектов для них вызывается деструктор.

В классе может быть определен только один деструктор.

Также существует деструктор по умолчанию или явно определенный программистом.

Деструктор по умолчанию не выполняет никаких действий.

Деструктор, определенный программистом, выполняет действия, указанные в его определении.

31. Жизненный цикл программной системы.

1 Этап. Анализ требований.

На этом этапе разрабатываемая система рассматривается по принципу черного ящика. Значения имеют только входные и выходные параметры, внутренняя реализация системы не рассматривается.

Объектно-ориентированная разработка программных систем позволяет уточнять анализ требований в процессе разработки, что дает несомненное преимущество перед другими технологиями.

2 Этап. Разработка или проектирование.

Объектно-ориентированная разработка на этом этапе жизненного цикла не связана с языком программирования, на котором предполагается реализовать разрабатываемую программную систему. На этапе разработки объекты - это некоторые формальные конструкции (например, прямоугольники с закругленными углами, с помощью которых они изображаются на схемах), никак пока не связанные с их будущей реализацией на одном из языков программирования.

Объектно-ориентированная разработка программного обеспечения связана с применением объектно-ориентированных методологий (технологий).

Обычно эти объектно-ориентированные методологии поддерживаются инструментальными программными средствами, но и без таких средств они полезны, так как позволяют хорошо понять различные аспекты и свойства разрабатываемой программной системы, что в последующем существенно облегчает ее реализацию, тестирование, сопровождение, разработку новых версий и более существенную модификацию.