Тема 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!