- •Оглавление
- •Виды данных
- •Программирование линейных алгоритмов
- •Программирование разветвляющихся алгоритмов
- •Программирование циклических алгоритмов
- •Описание и использование типа массив
- •Ввод и вывод массивов
- •Процедуры и функции для работы со строками
- •Описание и использование данных строкового типа
- •Операции над строками
- •Описание и использование процедур и функций
- •Функции
- •Формальные и фактические параметры
- •Описание и использование типа запись
- •Описание и использование множеств
- •Файловый тип данных. Описание и использование типизированных файлов
- •Описание и использование текстовых файлов
- •Модуль пользователя
- •Объектно-ориентированное программирование. Классы. Основные понятия
- •Основные понятия
- •Инкапсуляция
- •Наследование
- •Полиморфизм
- •Составляющие класса Поля
- •Свойства
- •Программные файлы. Файл проекта. Файл формы
- •Система программирования Delphi
- •Основные окна Delphi
- •Литература
Модуль пользователя
Модуль состоит из следующих частей:
заголовок модуля;
интерфейсная часть модуля;
исполняемая часть модуля;
инициализирующая часть модуля.
Заголовок модуля имеет вид:
unit имя модуля;
Например: unit MyModul;
Модуль должен быть помещен в файл, имя которого совпадает с именем модуля, а его расширение должно быть .pas.
Через интерфейсную часть осуществляется взаимодействие основной программы с модулем (или модуля с модулем). Интерфейсная часть является обязательной и начинается словом interface. Далее после слова uses могут быть указаны имена других модулей, используемых данным модулем. После этого записываются описания констант, типов, переменных, процедур и функций, которые могут быть использованы основной программой (модулем) при вызове этого модуля. При описании процедур и функций указываются лишь их заголовки, сами подпрограммы приводятся в исполняемой части модуля.
Исполняемая часть модуля также является обязательной и включает описание всех подпрограмм модуля. Она начинается словом implementation. Затем после слова uses указываются имена модулей, используемых подпрограммами данной исполняемой части. Если какой-то модуль уже указан в интерфейсной части, то в исполняемой части его повторять не следует. Далее могут быть: описание локальных меток, констант, типов, переменных, затем описываются подпрограммы модуля. При описании подпрограмм в исполняемой части допустимо использовать сокращенные заголовки.
В некоторых случаях перед обращением к модулю следует провести его инициализацию. Например: установить связь файловой переменной с внешним файлом на диске, инициализировать какие-то переменные. Эта часть начинается словом begin, после которого следуют исполняемые операторы, а заканчивается словом end.
Например: begin assign(f,’file.dat’);
end.
Операторы инициализирующей части выполняются в момент запуска программы. Если инициализация модуля не нужна, то в инициализирующей части модуля записывается лишь слово end, после которого следует точка.
Для использования констант, типов, переменных, подпрограмм, описанных в интерфейсе модуля, в основной программе (или другом модуле) следует записать слово uses и имя модуля. Если используемый идентификатор элемента модуля совпадает с идентификатором использующей его программы, при обращении к элементу модуля указывается имя модуля, а затем через точку – идентификатор объекта.
Например: y:=x+ MyModul.x; {x – переменная программы;
MyModul.x – переменная модуля}
Примеры: Создание модуля, выполняющего сложение комплексных чисел.
unit Comp;
interface
type Complex=record
re,im:real;
end;
procedure Add(x,y:Complex; var z:Complex);
implementation
procedure Add;
begin z.re:=x.re+y.re;
z.im:=x.im+y.im
end;
end.
Использование модуля Comp:
program my;
uses Comp;
var x,y,z: Complex;
begin x.re:=5; x.im:=6; y.re:=10; y.im:=3;
add(x,y,z);
writeln(z.re,’ ‘,z.im)
end.
Объектно-ориентированное программирование. Классы. Основные понятия
Классом в Object Pascal называется тип, который содержит поля, методы и свойства. Такой тип называют объектным типом.
type имя типа=class(TObject)
{поля}
{методы}
{свойства}
end;
var имя переменной: имя типа;
Переменная объектного типа называется экземпляром класса или объектом.
Поля – это данные, уникальные для каждого созданного в программе экземпляра класса. Методы – процедуры и функции, описанные внутри класса и предназначенные для операций над его полями. Методы у всех объектов одного класса общие. Свойство – поле, доступное для чтения и записи не напрямую, а через соответствующие методы.
type TMyClass=class(TObject)
field:integer; {поле}
function MyMethod: integer; {метод}
end;
var MyClass:TMyClass;
