Отчет по практике: Основы программирования в среде Delphi
.res – файл ресурсов (создается автоматически). Включает значок программы, номер версии и т.д.
.exe – исполняемый файл созданного приложения.
.~dpr,.~pas,.~dfm – резервные файлы проекта, модуля и формы. Создаются, если включен режим резервного копирования.
1.2 Описание класса
Объект, называемый в Delphi классом, может кроме разделов private и public иметь разделы protected, published и automated.
Элементы класса, расположенные после ключевого слова protected, называются защищенными. Они доступны внутри модуля, содержащего описание класса, и внутри его потомков.
В разделе published содержатся элементы, отображаемые в инспекторе объектов. Для них установлен тот же тип доступа, что и для элементов public. Этот раздел используется только при разработке нестандартных компонентов. Раздел automated содержит элементы, которые добавляются к интерфейсу объектов, использующих OLE. Интерфейс OLE (Object Linking and Embedding — связывание и внедрение объектов) поддерживается множеством различных программ и используется для помещения документа, созданного в одной программе, в другую программу. Например, можно вставить документ Microsoft Word в Microsoft Excel. Таким образом, OLE - это технология связи программ, позволяющая совместно использовать данные.
В потомках объекта доступность унаследованных элементов можно изменять.
Основная особенность объектов в Delphi состоит в том, что они по умолчанию являются динамическими, но операция разыменовывания для доступа к ним не используется. Если предок класса не указан, им считается TObject.
Рекомендуется для конструктора класса использовать имя Create, для деструктора – Destroy и вызывать из них соответствующие методы предка с помощью ключевого слова inherited. Вызов конструктора предка выполняется перед первым исполняемым оператором конструктора класса, а деструктора – после последнего. Деструктор объявлен в TObject как виртуальный, поэтому в любом потомке требуется объявлять его с ключевым словом override, которое используется в Delphi для переопределения виртуальных методов.
Рассмотрим пример, в котором объявляется класс «целое число».
type
TNumber = class
n:integer;
constructor Create(n_:integer);
end;
constructor TNumber.Create(n_:integer);
begin
inherited Create;
n:=n_;
end;
Переменная класса TNumber создается и удаляется так:
var
num:TNumber;
…
num:=TNumber.Create(10);
Label1.Caption:=IntToStr(num.n);
num.Destroy;
Здесь описан указатель на класс TNumber. Конструктор Create выделяет место в динамической памяти, достаточное для размещения объекта, и инициализирует его. В предпоследней строке значение поля num преобразуется в строку и выводится на форму через метку (элемент управления типа TLabel). Обратите внимание на то, что операция разыменовывания для доступа к объекту не используется.