Особенности вызова конструктора: различия между версиями
Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Mikst (обсуждение | вклад) Нет описания правки |
Mikst (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
Для вызова конструктора используется операция new. | |||
Старый синтаксис тоже сохранен. | |||
Однако, все конструкторы должны иметь имя Create. | |||
<source lang="Delphi">type | <source lang="Delphi">type | ||
Person = class | Person = class | ||
Строка 20: | Строка 24: | ||
p1 := Person.Create('Попов',19); // Старый синтаксис вызова конструктора (не рекомендуется) | p1 := Person.Create('Попов',19); // Старый синтаксис вызова конструктора (не рекомендуется) | ||
end. | end. | ||
</source>== Ссылки == | </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.