Delphi. Pascal
Урок 24. Конструкторы
Конструкторы - это методы классы, которые используются для инициализации членов класса. Конструктор вызывается в момент создания экземпляра класса. Вообще говоря, в конструкторе можно написать любой код, но обычно в нем задают некоторые начальные значения для переменных класса.
Конструкторов у класса может быть несколько. Кроме того, конструкторы могут быть с параметрами и без параметров.
Вот пример класса с конструкторами (это развитие примера из позапрошлого урока):
type
TCar = class
private
FSpeed: Integer;
public
// Задаем 2 конструктора.
constructor Create(); overload;
constructor Create(Speed: Integer); overload;
// Методы класса.
function GetSpeed(): Integer;
...
end;
// Код 2-х конструкторов.
constructor TCar.Create();
begin
FSpeed:=40;
end;
constructor TCar.Create(Speed: Integer);
begin
FSpeed:=Speed;
end;
var
c1, c2: TCar;
s: Integer;
begin
// Вызов первого конструктора.
c1 := TCar.Create;
// В s запишется 40.
s := c1.GetSpeed;
// Вызов второго конструктора.
c2 := TCar.Create(60);
// В s запишется 60.
s := c2.GetSpeed;
end.
Как вы видите, перед именем конструктора при его определении в классе мы пишем ключевое слово constructor (вместо слов procedure и function). Это же ключевое слово мы используем и при реализации конструкторов:
...
constructor TCar.Create();
begin
FSpeed:=40;
end;
constructor TCar.Create(Speed: Integer);
begin
FSpeed:=Speed;
end;
...
В остальном конструкторы объявляются в классе также, как и функции с процедурами.
Для вызова конструктора мы используем сам класс (а не экземпляр класса), при необходимости указывая параметры:
...
// Вызов первого конструктора.
c1 := TCar.Create;
...
// Вызов второго конструктора.
c2 := TCar.Create(60);
...
С этим уроком все.