Лекция 6

Var

Type

Uses

Interface

N Пример.

Begin

N Пример.

Begin

N Пример.

Var

N Пример.

Public

Private

Type

N Пример.

Объявление простого класса:

TPerson = class

fname: string[15];

faddress: string[50];

procedureShow;

end;

 

 

Объекты как представители класса объявляются в программе в разделе var.

student: Tperson;

Переменная-объект содержит не данные, а ссылку на данные объекта. Необходимо позаботиться о выделении памяти для этих данных.

Выделение памяти осуществляется с помощью специального метода класса – конструктора.

Объявление конструктора:

constructorИмя_конструктора (<параметры>);

Обычно конструктору присваивается имя Create

После выполнения инструкции

student :=TPerson.Create;

будет выделена необходимая память для данных объекта student.

Кроме выделения памяти конструктор часто осуществляет инициализацию объекта – присваивание полям объекта начальных значений.

Реализация конструктора для объекта класса TPerson:

constructorTPerson.Create;

fname := ‘’;

faddress := ‘’;

end;

Если объект больше не используется в программе, то можно освободить память, занимаемую полями данного объекта.

Для этого используется метод-деструктор Free.

Освобождение памяти, занимаемой полями объекта student:

student.Free;

Методы класса определяются в программе так же, как обычные процедуры и функции,

за исключением того, что имя процедуры или функции, являющейся методом, состоит из двух частей:

имени класса, которому принадлежит метод, и имени метода:

Имя_класса.имя_метода

В инструкциях метода доступ к полям объекта осуществляется без указания имени объекта

Определение метода Show класса TPerson:

ProcedureTPerson.Show;

ShowMessage(‘Имя ‘ + fname + #13 + ‘Адрес ‘ + faddress);

end;

Инструкция

student.Show;

вызовет применение метода Show

к объекту student.

 

При добавлении компонентов на форму Delphi автоматически формирует описание класса формы и объявление необходимых объектов;

При создании процедуры-обработчика события в описание класса формы добавляется объявление соответствующего метода.

Описание класса формы, сгенерированное Delphi:

unit Unit1;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, StdCtrls;

TForm1 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Edit2: TEdit;

GroupBox1: TGroupBox;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

Button1: TButton;

Button2: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure RadioButton2Click(Sender: TObject);

procedureFormCreate(Sender: TObject);

end;

Объявление объекта – формы приложения (объект класса TForm1):

Form1: TForm1;

 

Тема: Основные принципы ООП: инкапсуляция, наследование, полиморфизм.

Вопросы:

1. Инкапсуляция

2. Наследование

3. Полиморфизм