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.


 

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

83138. Інформація. Інформаційні процеси: отримання, зберігання, опрацювання і передавання повідомлень 139.5 KB
  Мета: ознайомити учнів з поняттям інформація з інформаційними процесами: отримання зберігання опрацювання і передавання інформації; розвивати спостережливість пам’ять мову; навички роботи з мишею; виховувати наполегливість у досягненні мети працелюбність інтерес до вивчення інформатики.
83139. Населення Землі. Культура зовнішності людини. Її стиль 166 KB
  Сформувати уявлення про населення Землі про основні раси людей на різних материках; ознайомити дітей із різними стилями зовнішності людини; розвивати вміння визначати стильову єдність одягууважність пізнавальний інтерес; виробляти уміння узагальнювати робити висновки оцінювати результати діяльності...
83140. Создание женского образа «Снежной королевы» с использованием различных элементов прически 4.04 MB
  Актуальностью для данной работы является постоянный интерес парикмахеров и технологов по прическам из длинных волос к разным историческим эпохам, для которых характерно разнообразие элементов причесок, методов и способов их выполнения.
83141. Курсовое проектирование по теории вероятностей, математической статистике и случайным процессам с элементами научно-исследовательской работы студентов 4.56 MB
  Задачи курсового проектирования по конкретной дисциплине, естественно, определяются ее спецификой, однако можно выделить и общие вопросы, не зависящие от предметной области, в том числе такие, как: профессиональная ориентация студента в изучаемых в университете направлениях (на 1 курсе, когда студент выбирает для себя направление бакалавриата)...
83142. Экологическая политика и международная деятельность Республики Беларусь в области охраны окружающей среды 968.49 KB
  Экологическая ситуация в Республике Беларусь имеет региональный характер. Региональная специфика экологических проблем определяется взаимодействием нескольких основных факторов. К их числу относятся, во-первых, неоднородность природных условий территории, а, следовательно, и неодинаковая устойчивость ее различных частей к внешним воздействиям.
83143. Учебное пособие по дисциплине: Металлические конструкции 9.04 MB
  Строительство является одной из самых металлоемких отраслей народного хозяйства. Значительная часть стали расходуется на изготовление металлоконструкций, из которых возводятся автодорожные и железнодорожные мосты, каркасы промышленных и гражданских зданий, башни и мачты антенных устройств, опоры линий электропередачи...
83145. ВИКОРИСТАННЯ ДИДАКТИЧНИХ ІГОР НА УРОКАХ ОБРАЗОТВОРЧОГО МИСТЕЦТВА В СЕРЕДНІХ КЛАСАХ 218 KB
  Проблеми перебудови нашого суспільства нерозривно пов’язані з вирішенням завдань формування творчої особистості. Адже саме така особистість є справжнім творцем історії, оскільки весь шлях, який пройдено людством, – це безперервний процес творіння.
83146. ШЛЯХИ ВДОСКОНАЛЕННЯ БУХГАЛТЕРСЬКОГО ОБЛІКУ ВЛАСНОГО КАПІТАЛУ 88.05 KB
  Актуальність теми дослідження полягає в тому, що запровадження в економічне життя України ринкових відносин, провокує до розвитку окремих фірм не державного характеру, що в свою чергу вимагає грамотної політики в галузях управління цими фірмами, це стосується і обліку результатів діяльності підприємств.