- •Лекции ясп
- •Среда визуальной разработки delphi
- •Свойства и события формы
- •Основы программирование в delphi
- •1. Скалярные (простые)
- •2. Структурные (составные)
- •3 03 06 По2
- •10 03 06
- •Var uln: integer;
- •Основные понятия ооп
- •31.03.06 Модульный принцип программ delphi
- •Главный модуль
- •Модули форм
- •Отладка и тестирование программ
Основные понятия ооп
(ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ)
Проект объединяет различные структурные элементы в единое приложение
Файл проекта - *DPR
Модуль - *PAS
Форма - *DFM
Библиотека - *VCL
Класс – это шаблон или проект, в котором описаны характеристики, определяющие поведение и внешний вид объекта.
Классовый или объектный тип – это особая структура, которая имеется в своем составе:
- поля
- методы
- свойства
Классами называются типы, которые содержат поля, методы и свойства. Класс представляет собой единство трех сущностей – полей, методов и свойств. Объединение этих сущностей в единое целое называется инкапсуляцией.
Классы служат образцом для создания объектов. Класс – это образец, по которому создается объект – экземпляр класса.
В объекте-родителе и объекте-потомке могут действовать для одноименного метода разные алгоритмы – полиморфизм.
Перегружаемые методы, функции и процедуры.
Полями называют объединенные (инкапсулированные) в классе данные. Поля могут быть любыми типами, в том числе и классами.
Фундаментальный принцип ООП – обращение к полям с помощью методов и свойств классов.
Для обращения напрямую к данным полям используются составные имена полей (селекторы):
var
LObject:TmKlass;
begin
...
LObject.IntField:=2;
LObject.StrField:=’Строка’;
…
end;
Методы – статическое (реал.компил) и динамическое замещение методов – программно объявляемый метод dynamic virtual.
Таблица динамических методов DMT содержит адреса методов в данном классе.
Таблица виртуальных методов VMT содержит адреса методов в данном классе и всех его родителей.
Свойства – это специальный механизм классов, регулирующий доступ к полям.
Класс содержит одну или несколько спецификаций доступа: published (декларированные), private (личные, закрытые), protected (защищенные), public (доступные открытые).
Чтение и обновление полей объекта производится вызовом соответствующих методов (подпрограмм). Не разрешен прямой доступ к полям объекта (объект защищен, инкапсуляция).
Объект отгорожен от полей с помощью свойств.
Свойства – это характеристики (параметры), с помощью которых описывается внешний вид и работа объекта.
Обращения или ссылки – это инструкция от одного объекта к другому для изменения значения свойства или выполнения одного из событий или методов объекта, к которому обращаются.
Пример:
Edit3.Set Focus – перемещение фокуса на Edit3 (все, что вводится будет в Edit3)
Метод представляет обычную подпрограмму (процедуру или функцию), является элементом класса. Вид метода определяется модификатором:
Virtual
Dynamic
Override
Message
Abstract
Визуальные объекты:
Frames
Edit
Memo
Label
Button
Инкапсуляция – это объединение данных и обрабатывающих их методов (подпрограмм), в том числе класса (объекта).
В классе инкапсуляция (помещается внутрь) поля, свойства, методы. При этом классе получаем определенную функциональность, обеспечивающий полный набор средств для создания объектов или прикладкой обработки.
Наследование – использование родительского класса для создания потомка, дочернего класса, порождение объектов потомков от существующих объектов родителей. Потомков берет от родителей все его поля, свойства и методы. В объект- потомок добавляют новые элементы. Создаваемое дерево объектов - образ.
Полиморфизм. В традиционном программировании имя вызываемой процедуре однозначно определяет выполнение кода. В ООП одинаковые имена методов используются для выполнения различных действий. Сущность полиморфизм в том, что методы различных классов имеют одинаковые имена, но разное содержание.
Методы Close, Open может иметь для различных объектов различные действия.
Обращение к различным одноименным методам объект выполняет аналогично.