Особенности вызова конструктора: различия между версиями

Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
(Новая: == Ссылки == *Особенности языка: продвинутый уровень *[http://pascalabc.net/ru/bazovyie-osobennosti-yazyika-i-bibliotek.html Сайт PascalAB...)
 
Нет описания правки
 
(не показана 1 промежуточная версия этого же участника)
Строка 1: Строка 1:
Для вызова конструктора используется операция new.
Старый синтаксис тоже сохранен.
Однако, все конструкторы должны иметь имя Create.
<source lang="Delphi">type
  Person = class
  private
    name: string;
    age: integer;
  public
    // Конструктор неявно имеет имя Create
    constructor (n: string; a: integer);
  end;
constructor Person.Create(n: string; a: integer);
begin
  name := n; age := a;
end;
var p,p1: Person;
begin
  p := new Person('Иванов',20); // Новый синтаксис вызова конструктора (рекомендуется)
  p1 := Person.Create('Попов',19); // Старый синтаксис вызова конструктора (не рекомендуется)
end.
</source>
== Ссылки ==
== Ссылки ==
*[[Особенности языка: продвинутый уровень]]
*[[Особенности языка: продвинутый уровень]]
*[http://pascalabc.net/ru/bazovyie-osobennosti-yazyika-i-bibliotek.html Сайт PascalABC.NET: Особенности языка]
*[http://pascalabc.net/ru/bazovyie-osobennosti-yazyika-i-bibliotek.html Сайт PascalABC.NET: Особенности языка]

Текущая версия от 16:05, 14 января 2010

Для вызова конструктора используется операция new. Старый синтаксис тоже сохранен. Однако, все конструкторы должны иметь имя Create.

type 
  Person = class
  private
    name: string;
    age: integer;
  public
    // Конструктор неявно имеет имя Create
    constructor (n: string; a: integer);
  end;

constructor Person.Create(n: string; a: integer);
begin
  name := n; age := a;
end;

var p,p1: Person;

begin
  p := new Person('Иванов',20); // Новый синтаксис вызова конструктора (рекомендуется)
  p1 := Person.Create('Попов',19); // Старый синтаксис вызова конструктора (не рекомендуется)
end.

Ссылки