Особенности вызова конструктора: различия между версиями
Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Mikst (обсуждение | вклад) (Новая: == Ссылки == *Особенности языка: продвинутый уровень *[http://pascalabc.net/ru/bazovyie-osobennosti-yazyika-i-bibliotek.html Сайт PascalAB...) |
Mikst (обсуждение | вклад) Нет описания правки |
||
(не показана 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.