
- •Этапы жизненного цикла программы:
- •Основные характеристики программного продукта:
- •Операции над множествами:
- •Типы файлов. Организация доступа к файлам. Стандартные процедуры и функции для файлов разного типа.
- •Описание такого указателя имеет вид:
- •В Паскале определены стандартные функции для работы с указателями:
- •Структуры данных на основе указателей.
- •Полиморфизм.
- •Пример события в Object Pascal:
Полиморфизм.
Полиморфизм(многообразие) предполагает определение класса или нескольких классов методов для родственных объектных типов так, что каждому классу отводится своя функциональная роль. Методы одного класса обычно наделяются общим именем.
Пример: Пусть имеется родительский объектный тип «выпуклый четырехугольник» (поля типа «координаты вершин, заданные в порядке их обхода») и типы, им порожденные: параллелограмм, ромб, квадрат. Описать для указанных фигур методы «вычисление углов» (в градусах), «вычисление диагоналей», «вычисление длин сторон», «вычисление периметра», «вычисление площади».
Событийно-управляемая модель программирования. Компонентно-ориентированный подход. Классы объектов.
Cобытийно-ориентированное программирование – парадигма(правило) программирования в которой выполнение программы определяется событиями – действиями пользователя (клавиатура, мышь), сообщениями других программ и потоков, событиями ос (поступление сетевого пакета).
СОП применяется в 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.
Данный тип содержит указатели на компоненты, которые были помещены на форму:
Label1 – объект типа TLabel (иначе говоря экземпляр класса TLabel);
Edit1 – объект типа TEdit;
2 экземпляра класса TBitBtn;
Область видимости идентификатора компонента зависит от раздела в котором объявлен этот идентификатор.
В объявленных типов классов имеются разделы:
Частных объявлений Private – размещаются поля данных и методы недоступные за пределами данного класса.
Общих объявлений Public – доступны для всех процедур, программный код которых расположен в области видимости данного объекта. В этом разделе должны быть объявлены поля данных и методы, к которым будет доступ другим классам.
Защищённых объявлений Protected – доступны только внутри модуля с описываемым классом, но так же они доступны и в классах потомках (в том числе и в других модулях)
Опубликованных – Published объявлений.
Все классы порождены от единого родителя – класса TObject. Этот класс не имеет полей и свойств, но включает в себя методы самого общего назначения, обеспечивающих весь жизненный цикл любых объектов.
Интерфейс TObject обеспечивает:
1) возможность создания, управления и разрушения экземпляров объектов, включая выделение под них памяти, инициализацию и освобождение памяти после их уничтожения;
2) поддержку информации об объектах и типах;
3) поддержку обработки сообщений.
Основные методы TObject:
constructor Create - Создает новый экземпляр объекта и инициирует обработчик исключительных ситуаций.
destructor Destroy; virtual - Производит действия по уничтожению экземпляра объекта.
procedure Free - Уничтожает объект и освобождает выделенную под него память.