Тема 1.2.2 Конструкторы и деструкторы
Конструкторы — это специальные методы, создающие и инициализирующие объект. Объект создается выделением для него области в динамически распределяемой памяти . Объявление конструктора выглядит так же, как объявление процедуры, но предваряется ключевым словом constructor. В качестве имени конструктора обычно задают имя Create. Часто в конструктор передают в качестве параметра владельца объекта. Владелец объекта (Owner) — этот тот объект, при уничтожении которого (освобождении занимаемой им памяти) уничтожится и данный объект.
Примеры объявлений конструкторов:
constructor Create;
constructor Create (Owner: TComponent);
В реализации конструктора обычно первым идет вызов наследуемого конструктора с помощью ключевого слова inherited . В результате инициализируются все наследуемые поля. При этом порядковым типам в качестве начального значения задается 0, указателям — nil, строки задаются пустыми, а поля типа variant — Unassigned. Затем инициализируются новые поля, введенные в данном классе.
Деструкторы — это специальные методы, уничтожающие объект и освобождающие занимаемую им память. Объявление деструктора выглядит так же, как объявление процедуры, но предваряется ключевым словом destructor. В качестве имени деструктора обычно задают имя Destroy. Примеры объявлений деструкторов:
destructor Destroy; destructor Destroy; override;
Реализация деструктора, как правило, завершается вызовом наследуемого деструктора с помощью ключевого слова inherited, чтобы освободить память, отведенную для наследуемых полей.
|
|
Например: Создать модуль с объектом «Линия» и методами «Нарисовать», «Переместить» и «Удалить».
UNIT Linia;
INTERFACE
Type
TLene = object
Private
x1, y1, x2, y2 : integer; {координаты линии}
color: word; {цвет линии}
Public
Procedure Draw (ax1,ay1,ax2,ay2:integer; aColor:word);
Procedure Perem;
Procedure Udal;
End;
IMPLEMENTATION
Uses graph;
Procedure TLene.Draw;
var dg, dm :integer;
Begin
dg:=detect; InitGraph(dg,dm, ’’);
x1:=ax1; y1:=ay1; y2:=ay2; x2:=ax2;
color:=aColor; setcolor(aColor);
line(x1,y1,x2,y2);
line(x2,y2,x2+60,y2);
End;
Procedure TLene.Perem;
Begin
ClearDevice; SetColor(color);
Line(x1+30,y1+30,x2+30,y2+30);
Line(x2+30,y2+30,x2+90,y2+30);
End;
Procedure TLene.Udal;
Begin
ClearDevice; ReadLn; CloseGraph;
End;
END.
Основная программа: Использование модуля и объекта
Program Object_Line;
Uses crt, Linia;
Var x,y,xs,ys :integer;
Color:word;
objLine:TLene; {объект типа TLene }
Begin
ClrScr;
Readln(x,y,xs,ys,color);
objLine .Draw(x,y,xs,ys,color); {вызов процедуры Draw для объекта}
objLine.Perem;{вызов процедуры Perem}
objLine.Udal; {вызов процедуры Udal}
End.
Задание: Создать собственный объект и использовать его в программе.
Вариант№1
Объект – точка
1. Свойства - координаты точки, цвет точки;
2. Методы – нарисовать, переместить, удалить
Вариант№2
Объект – 2 линии. ( − | )
|
|
1. Свойства - координаты начала и конца, цвет линии;
2. Методы – нарисовать, переместить, удалить
Вариант№3
Объект – треугольник.
1. Свойства - координаты точек, цвет линии;
2. Методы – нарисовать, переместить, удалить
Вариант№4
Объект – прямоугольный треугольник.
1. Свойства - координаты точек, цвет линии;
2. Методы – нарисовать, переместить, удалить
Вариант№5
Объект – квадрат.
1. Свойства - координаты точек, цвет линии;
2. Методы – нарисовать, переместить, удалить
Вариант№6
Объект – вертикальный прямоугольник.
1. Свойства - координаты точек, цвет линии;
2. Методы – нарисовать, переместить, удалить
Вариант№7
Объект – горизонтальный прямоугольник.
1. Свойства - координаты точек, цвет линии;
2. Методы – нарисовать, переместить, удалить
Вариант№8
Объект – круг.
1. Свойства - координаты центра, радиус, цвет линии;
2. Методы – нарисовать, переместить, удалить
3.
Вариант№9
Объект – овал
1. Свойства - координаты центра, радиусы, цвет линии;
2. Методы – нарисовать, переместить, удалить
Вариант№10
Объект – ломаная линия ( ^ ).
1. Свойства – координаты начала и конца, цвет линии;
|
|
2. Методы – нарисовать, переместить, удалить
Вариант№11
Объект – прямоугольный треугольник
1. Свойства - координаты точек, цвет линии;
2. Методы – нарисовать, переместить, удалить
Вариант№12
Объект –круг.
1. Свойства - координаты начала и конца, цвет линии;
2. Методы – нарисовать, переместить, удалить
Вариант№13
Объект – треугольник равнобедренный, прямоугольный
1. Свойства - координаты точек, цвет линии;
2. Методы – нарисовать, переместить, удалить
Вариант№14
Объект – прямоугольник
1. Свойства - координаты точек, цвет линии;
2. Методы – нарисовать, переместить, удалить
Вариант№15
Объект – квадрат.
1. Свойства - координаты точек, цвет линии;
2. Методы – нарисовать, переместить, удалить
Контрольные вопросы:
1. Описание объекта?
2. Как использовать методы объекта?
3. Назначение Private и Public?
Раздел 2. Введение в Delphi.
Тема 2.1 Палитра компонентов
Палитра компонентов - это главное богатство Delphi. Она занимает правую часть главного окна и имеет закладки, обеспечивающие быстрый поиск нужного компонента (рис 2.1).
Дата добавления: 2018-08-06; просмотров: 287; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!