77985

Конструкторы и деструкторы

Лекция

Информатика, кибернетика и программирование

Конструкторы — это специальные методы, создающие и инициализирующие объект. Объект создается выделением для него области в динамически распределяемой памяти. Объявление конструктора выглядит так же, как объявление процедуры, но предваряется ключевым словом constructor. В качестве имени конструктора обычно задают имя Create.

Русский

2015-02-05

28.5 KB

0 чел.

Конструкторы и деструкторы

Конструкторы — это специальные методы, создающие и инициализирующие объект. Объект создается выделением для него области в динамически распределяемой памяти . Объявление конструктора выглядит так же, как объявление процедуры, но предваряется ключевым словом 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.


 

А также другие работы, которые могут Вас заинтересовать

11163. Система розкриття інформації акціонерним товариством 72.5 KB
  Система розкриття інформації акціонерним товариством Система корпоративного управління повинна забезпечувати своєчасне й точне розкриття інформації з усіх найважливіших питань що стосуються акціонерного товариства включаючи його фінансовий стан продуктивніст
11164. Стан корпоративного управління в Україні 69.5 KB
  Стан корпоративного управління в Україні Історія функціонування корпорацій в Україні складає понад 15 років. Вони набули широкого розповсюдження в усіх галузях вітчизняної економіки проте однією з головних рис економічних реформ що відбуваються
11165. Стандарти й моделі корпоративного управління 208 KB
  ТЕМА 2. Стандарти й моделі корпоративного управління План 2.1. Міжнародні стандарти корпоративного управління 2.2. Національні принципи корпоративного управління в Україні 2.3. Моделі корпоративних відносин 2.3.1. Англоамериканська модель 2.3.2. Японська модел
11166. Загальна характеристика органів управління акціонерними товариствами 41.5 KB
  Загальна характеристика органів управління акціонерними товариствами Відповідно до ст. 29 ЦК України юридична особа набуває цивільних прав і бере на себе цивільні обов'язки через свої органи що діють у межах прав наданих їм за законом або статутом положенням. Органи...
11167. Субєкти управління державним підприємством та корпоративними правами 144.5 KB
  Суб’єкти управління державним підприємством та корпоративними правами Держава виступає учасником діяльності корпоративних підприємств через наявність частки власності в їх статутних фондах що дає змогу певним чином управляти таким товар...
11168. Сутність і порядок створення господарських товариств 64.5 KB
  Сутність і порядок створення господарських товариств Господарськими товариствами визнаються підприємства або інші суб'єкти господарювання створені юридичними особами та/або громадянами шляхом об'єднання їх майна і участі в підприємницькій діяльності товарис
11169. Сутність контролю над акціонерним товариством. Значна угода корпорації 85.5 KB
  Сутність контролю над акціонерним товариством. Значна угода корпорації. Поняття контролю над діяльністю акціонерного товариства та контрольного пакета акцій у практиці корпоративного управління розглядаються як тотожні. У Законі України rdquo;Про оподаткування ...
11170. Сутність корпоративного управління і необхідність його розвитку в Україні 48 KB
  ТЕМА 1. Сутність корпоративного управління і необхідність його розвитку в Україні План Передумови виникнення корпоративних відносин Сутність корпоративного управління Суб'єкти й об'єкти корпоративного управління Передумов
11171. Сутність розкриття інформації в акціонерному товаристві 70.5 KB
  Сутність розкриття інформації в акціонерному товаристві. Сутність розкриття інформації акціонерними товариствами полягає у забезпеченні доступу зацікавлених осіб у тому числі акціонерів до повної достовірної інформації про виробничогосподарську діяльність підпр...