- •30. Конструктор и деструктор.
- •Классификация конструкторов.
- •1.По инициализации состояния класса.
- •2.По тому, кто определяет конструкторы
- •1 Этап. Анализ требований.
- •2 Этап. Разработка или проектирование.
- •3 Этап. Реализация системы или программирование.
- •4 Этап. Тестирование и отладка.
- •32.Современные технологии программирования.
- •33.Основные преимущества ооп.
- •1.Форма - модуль со связанным с ним окном
- •40. Полиморфизм
2.По тому, кто определяет конструкторы
делятся на конструкторы по умолчанию (не требуют какого-либо упоминания в определении класса) и явно определенные программистом.
Конструкторы по умолчанию: только пустой и копирующий.
Пустой конструктор по умолчанию не инициализирует состояние экземпляра класса. Копирующий конструктор по умолчанию при инициализации осуществляет побайтное копирование состояния указанного существующего экземпляра класса.
Конструкторы, определенные программистом: осуществляют инициализацию состояния экземпляра класса в соответствии с логикой, определенной в конструкторе. Если программист определяет свои конструкторы, будут использоваться именно они.
Итоги:
конструктор ничего не возвращает;
имя конструктора совпадает с именем класса;
в классе может быть определено несколько конструкторов.
Деструктор служит для разрушения экземпляра класса. Опять же, память, занятая экземплярами класса, освобождается в соответствии с используемыми средствами языка; локальный объект уничтожается, когда осуществляется выход за пределы области видимости для этого объекта. Динамический объект уничтожается при выполнении оператора Destroy.
Временный объект уничтожается по окончании вычислений, в которых он используется.
В момент уничтожения объектов для них вызывается деструктор.
В классе может быть определен только один деструктор.
Также существует деструктор по умолчанию или явно определенный программистом.
Деструктор по умолчанию не выполняет никаких действий.
Деструктор, определенный программистом, выполняет действия, указанные в его определении.
31. Жизненный цикл программной системы.
1 Этап. Анализ требований.
На этом этапе разрабатываемая система рассматривается по принципу черного ящика. Значения имеют только входные и выходные параметры, внутренняя реализация системы не рассматривается.
Объектно-ориентированная разработка программных систем позволяет уточнять анализ требований в процессе разработки, что дает несомненное преимущество перед другими технологиями.
2 Этап. Разработка или проектирование.
Объектно-ориентированная разработка на этом этапе жизненного цикла не связана с языком программирования, на котором предполагается реализовать разрабатываемую программную систему. На этапе разработки объекты - это некоторые формальные конструкции (например, прямоугольники с закругленными углами, с помощью которых они изображаются на схемах), никак пока не связанные с их будущей реализацией на одном из языков программирования.
Объектно-ориентированная разработка программного обеспечения связана с применением объектно-ориентированных методологий (технологий).
Обычно эти объектно-ориентированные методологии поддерживаются инструментальными программными средствами, но и без таких средств они полезны, так как позволяют хорошо понять различные аспекты и свойства разрабатываемой программной системы, что в последующем существенно облегчает ее реализацию, тестирование, сопровождение, разработку новых версий и более существенную модификацию.
