- •1.Понятие жизненного цикла программного обеспечения (по). Этапы разработки по.
- •Сравнение стратегий конструирования по.
- •4. Спиральная модель жизненного цикла разработки программного обеспечения б. Боэма.
- •5.Основные приемы экстремального программирования (xp).
- •1.Короткий цикл обратной связи:
- •7. Структура оконного приложения в среде Delphi.
- •8.Модули. Структура модуля. Использование модулей в приложении
- •9.Основные типы данных языка Delphi
- •10. Структурированные типы данных. Записи. Обращение к полям записей. Оператор with. Тип "запись" (record)
- •11. Структурированные типы данных. Записи. Вариантная часть записей.
- •Описание и использование подпрограмм в языке Паскаль. Формальные и фактические параметры. Параметры-значения и параметры-переменные.
- •Описание и вызов процедур и функций
- •13. Библиотека визуальных компонентов Delphi. Назначение vcl
- •Структура vcl
- •14. Основные события Delphi. Методы обработки событий.
- •15. Объектно-ориентированный подход при разработке программы. Основные принципы объектно-ориентированного программирования.
- •16. Определение класса и объекта.
- •Примеры Классов: Класс фигур:
- •17. Атрибуты доступа к элементам класса.
- •Пример: пример “атрибуты доступа” (лекция №__)
- •Структура проекта
- •Описание классов
- •Модуль Unit1
- •Модуль Unit2
- •18. Методы как составляющие элементы класса. Конструкторы и деструкторы.
- •Пример: пример № 1. “точка на прямой”
- •19. Методы как составляющие элементы класса. Модификаторы и селекторы пример № 3. Класс “товар”
- •20. Принцип инкапсуляции. (Забавная статья, но вроде понятно)
- •21. Принцип наследования.
- •Типы наследования
- •Простое наследование
- •Множественное наследование
- •Реализация наследования на примере языка Delphi.
- •Create; begin Inherited; // Всегда вызывается в начале конструктора ... End; Иерархия стандартных классов Delphi
- •Совместимость типов для классов в иерархии наследования. Преобразование и приведение типов.
- •Совместимость объектов различных классов
- •Контроль и преобразование типов
- •Обработка исключительных ситуаций. Стандартные классы исключений на примере языка Delphi.
- •Блок try … except
- •Блок try … finally
- •Описание и обработка пользовательских исключений на примере языка Delphi.
Примеры Классов: Класс фигур:
Содержит объекты: квадрат, треугольник, круг и т.д.
Класс Животных. Объекты: обезьяны, львы... человеки
17. Атрибуты доступа к элементам класса.
Интерфейс класса состоит из произвольного количества произвольно чередующихся секций (атрибутов доступа или доступности или видимости):
public, protected, private, published и automated
Public (общедоступный, открытый) – элементы класса, доступные всем, кто использует класс и/или его объекты
Protected (защищенный) – элементы класса, доступные в классах производных (наследующих) от данного.
Private (закрытый) – элементы класса, доступные только изнутри класса, а так же из некоторых особо выделенных классов и функций (в разных ОО языках существуют разные способы указания таких классов и функций)
Значение первых трех областей видимости совпадает с указанным выше. Для секции private способ указания функций и классов, видящих эти элементы — размещение в одном модуле с классом. Последние две по области видимости приравнены к public, но имеют некоторую дополнительную чисто техническую нагрузку. Кроме того, применение ключевого слова automated признано устаревшим и оставлено только для обратной совместимости с предыдущими версиями, оно рассматриваться далее в курсе не будет. Ключевое слово published будет рассмотрено в теме «VCL». Действие атрибута распространяется на элементы класса, описанные по тексту после него до момента появления другого атрибута или конца объявления класса. В начале описания класса может присутствовать секция, не имеющая явно указанного атрибута видимости, она в различных случаях расценивается или как public, или как published
Пример: пример “атрибуты доступа” (лекция №__)
Рис. 1. Иерархия классов |
Рис. 2. Экранная форма приложения |
Структура проекта
Проект состоит из двух модулей:
Unit1.pas - содержит описание класса One и его наследника – класса Two;
Unit2.pas - модуль главной формы; также содержит описание еще одного наследника класса One – класса Three. Кроме этого, в данном модуле создаются экземпляры всех трех классов (O, TW, TR) и приведен пример обращения к разным элементам этих объектов (см. метод TForm1.Button1Click).
Создание объектов происходит при запуске программы (раздел инициализации модуля Unit2), а удаление – при ее завершении (раздел завершающих действий модуля Unit2)
Описание классов
Иерархия наследования приведена на рис. 1. Рассматриваемые классы также наследуют от класса TObject – общего предка для всех классов Delphi (см. конструктор Create, метод Free).
Класс One
Содержит три поля с различными уровнями доступа:
a:byte (public)
Поле доступно для любых внешних объектов;
b:real (protected)
Поле доступно для потомков, вне зависимости от того, где они объявлены;
c:char (private)
Поле доступно только внутри модуля, в котором описан объект и недоступно извне.
Класс Two
Наследует поля класса One и добавляет к ним общедоступные строковое поле d и метод e() – функцию, возвращающую значение поля a, увеличенное в 10 раз.
Класс Three
Наследует поля класса One, добавляет к ним скрытое поле g и общедоступный метод h() – процедуру, возвращающую строковое значение 'Работа процедуры THREE.H'.
|