Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
на печать.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
102.77 Кб
Скачать

Полиморфизм.

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

Пример: Пусть имеется родительский объектный тип «выпуклый четырехугольник» (поля типа «координаты вершин, заданные в порядке их обхода») и типы, им порожденные: параллелограмм, ромб, квадрат. Описать для указанных фигур методы «вычисление углов» (в градусах), «вычисление диагоналей», «вычисление длин сторон», «вычисление периметра», «вычисление площади».

  1. Событийно-управляемая модель программирования. Компонентно-ориентированный подход. Классы объектов.

Cобытийно-ориентированное программирование – парадигма(правило) программирования в которой выполнение программы определяется событиями – действиями пользователя (клавиатура, мышь), сообщениями других программ и потоков, событиями ос (поступление сетевого пакета).

СОП применяется в 3-ех случаях:

  1. При построении пользовательских интерфейсов (в том числе и графических)

  2. При создании сервисных приложений, если по тем или иным причинам нежелательно порождение обслуживающих процессов.

  3. При программировании игр, в которых осуществляется управление множеством объектов.

Событие – свойство процедурного типа, предназначенное для создания пользовательской реакции на то или иное входное воздействие.

Пример события в Object Pascal:

Property OnMyEvent: TMyEvent Read FOnMyEvent1 Write FOnMyEvent2 default asValue;

Где: OnMyEvent – имя свойства,

TMyEvent – тип свойства,

FOnMyEvent1- поле процедурного типа, вызывается при чтении значения свойства.

FOnMyEvent2 – поле процедурного типа, вызывается при записи нового значения свойства.

asValue – значение свойства по умолчанию.

FOnMyEvent1, FOnMyEvent2 – поля, содержащие адрес некоторых методов. Присвоить такому свойству значения значит указать объекту адрес метода, который будет вызываться в момент поступления события. Такие методы называют обработчиком события.

Обработчик события – фрагмент программы, который выполняется в ответ на определенное изменение в программе или Windows.

Компонентно-ориентированное программирование – парадигма программирования, ключевой фигурой которой является компонент.

Компонент – это совокупность свойств и методов, а также событий на которые он реагирует.

Класс – это определенный пользователем тип данных, который обладает внутренними данными и методами в форме процедур или функций и обычно описывает родовые признаки и способы поведения ряда похожих объектов.

Класс – это описание, объект – то, что создано в соответствии с этим описанием.

Тип класс – это структура данных, состоящая из полей, методов и свойств. Поля содержат данные определенного типа. Методы - это функции и процедуры, описанные внутри класса и предназначенные для операций над его полями. Свойства - это специальный механизм классов, регулирующий доступ к полям.

Каждый новый класс в Delphi должен быть объявлен глобально. Для этого используется зарезервированное слово Class.

Объявление определяет функциональные возможности класса. Объявление классов модуле производится в разделе объявления типов Type.

Пример класса и объектов в Delphi:

Type

TForm1=Class(TForm)

Label1:TLabel;

Edit1:TEdit;

CloseBtn:TBitBtn;

OkBtn:TBitBtn;

End;

Var

Form1:TForm1;

В объявлении типа определен новый класс TForm1 наследуется от класса TForm.

Данный тип содержит указатели на компоненты, которые были помещены на форму:

  1. Label1 – объект типа TLabel (иначе говоря экземпляр класса TLabel);

  2. Edit1 – объект типа TEdit;

  3. 2 экземпляра класса TBitBtn;

Область видимости идентификатора компонента зависит от раздела в котором объявлен этот идентификатор.

В объявленных типов классов имеются разделы:

  1. Частных объявлений Privateразмещаются поля данных и методы недоступные за пределами данного класса.

  2. Общих объявлений Public – доступны для всех процедур, программный код которых расположен в области видимости данного объекта. В этом разделе должны быть объявлены поля данных и методы, к которым будет доступ другим классам.

  3. Защищённых объявлений Protectedдоступны только внутри модуля с описываемым классом, но так же они доступны и в классах потомках (в том числе и в других модулях)

  4. Опубликованных – Published объявлений.

Все классы порождены от единого родителя – класса TObject. Этот класс не имеет полей и свойств, но включает в себя методы самого общего назначения, обеспечивающих весь жизненный цикл любых объектов.

Интерфейс TObject обеспечивает:

1) возможность создания, управления и разрушения экземпляров объектов, включая выделение под них памяти, инициализацию и освобождение памяти после их уничтожения;

2) поддержку информации об объектах и типах;

3) поддержку обработки сообщений.

Основные методы TObject:

  1. constructor Create - Создает новый экземпляр объекта и инициирует обработчик исключительных ситуаций.

  2. destructor Destroy; virtual - Производит действия по уничтожению экземпляра объекта.

  3. procedure Free - Уничтожает объект и освобождает выделенную под него память.