Отправляет email-рассылки с помощью сервиса Sendsay

Delphi. Уроки

  Все выпуски  

Delphi. Уроки


Информационный Канал Subscribe.Ru

Уроки по Delphi. Рассылки сайта progs.biz
Выпуск № 47
 
Начало > Delphi > Pascal > Урок 24

В. Фаронов. Система программирования Delphi.
В. Фаронов. Система программирования Delphi
Заказать на Озоне

Подробнее


Полные версии уроков (с картинками): урок 24.

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);
  ...

С этим уроком все.

Рассылки сайта progs.biz
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


PARKING.RU. Качественный ВИРТУАЛЬНЫЙ ХОСТИНГ на платформе Windows(r): поддержка NET, многофункциональная панель управления, аренда бизнес-приложений, сертифицированные специалисты. Управляемый ВЫДЕЛЕННЫЙ ХОСТИНГ на платформе Windows(r): производительные серверы, профессиональная поддержка, аренда ПО Microsoft(r), безопасность, гарантии. http://www.parking.ru


Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2005 сайт progs.biz
© 2002-2005 Игорь Алексеев

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphilessons
Отписаться
Вспомнить пароль

В избранное