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.


 

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

76666. Спасательная техника (УДВ-15, УДВ-25, ВФС-2,5, ВФС-10) 791 KB
  Наличие в войсках ГО и формированиях МЧС России техники – условие необходимое, но не достаточное для выполнения поставленных задач. Среди ряда факторов, влияющих на готовность соединений и частей к действию, большое значение имеет техническое состояние техники.
76667. Функциональные особенности организма детей раннего и первого детства и их учет при организации двигательной активности 45.53 KB
  Определение содержания занятий с физического, умственного, нравственного, естетичного и трудового воспитания детей, конкретных знаний, умений и навыков, которые должны быть усвоены детьми на разных возрастных этапах, а также качества, которые необходимо в них воспитывать;
76668. Главные схемы ТЭЦ 43.62 KB
  Таким образом первой особенностью главной схемы ТЭЦ является наличие во многих случаях сборных шин генераторного напряжения к которым присоединяются генераторы ТЭЦ и кабельные линии 6 10 кВ питающие местный район электрической нагрузки.
76669. Станочный парк турбиностроительного предприятия 579.5 KB
  Производство турбин как область технологии машиностроения весьма специфична. Технология турбостроения, обладая признаками отраслевой технологической дисциплины, существенно отличается от технологии общего машиностроения и технологии изготовления тяжелых машин иного назначения.
76670. Выходные дни 32.61 KB
  Одним из главных способов достижения реализации является труд как неоплачиваемый так и оплачиваемый. Выбрав тему реферата Выходные дни мы более подробно познакомимся с особенностями и правилами регулирования отдыха работников.
76671. Уголовная ответственность за экологические преступления 74 KB
  Охрана окружающей природной среды - одна из наиболее актуальных проблем современности. Научно-технический прогресс и усиление антропогенного давления на природную среду неизбежно приводят к обострению экологической ситуации: истощаются запасы природных ресурсов...
76672. Соціально-політичне і економічне становище українських земель у XIV – першій половині XVII століття 47 KB
  Невтомною працею селян підвищувалась урожайність землі її продуктивність. У них пан примушував навколишніх селян молоти зерно беручи за помел побори. Працею сотень селян у яких пан забирав землю в фільварках будували млини комори хліви спиртогорілчані підприємства заводи пивоварні...
76673. Б. А. ТАРАШКЕВІЧ – АЎТАР ПЕРШАЙ “БЕЛАРУСКАЙ ГРАМАТЫКІ” 93 KB
  Мова – гэта не толькі сродак зносін людзей, але і важнейшы элемент нацыянальнай культуры кожнага народа. Гэта і выклікае цікавасць носьбітаў мовы да самой мовы, да яе гісторыі, да вытокаў яе фарміравання і гістарычных умоў функцыянавання...
76674. Тождество исков 48.21 KB
  Внешнее тождество исков подразумевает под собой сравнение двух и более исков на предмет того чтобы не допустить рассмотрение одного и того же иска повторно. Вопрос о тождественности исков в литературе обычно рассматривают в контексте вопроса об элементах иска так как именно...