Записи в модулях с полным синтаксисом — различия между версиями
Материал из Вики ИТ мехмата ЮФУ
Ulysses (обсуждение | вклад) |
Ulysses (обсуждение | вклад) |
||
Строка 16: | Строка 16: | ||
implementation | implementation | ||
− | procedure Point.Move(dx: integer; dy: integer); // "имя_типа." перед именем метода | + | procedure Point.Move(dx: integer; dy: integer); // "имя_типа." перед именем метода -- квалификация |
begin | begin | ||
Self.x += dx; | Self.x += dx; |
Версия 10:16, 24 декабря 2016
Если требуется определить запись в модуле в полной форме, в разделе интерфейса следует определять саму запись и только заголовки её методов, а реализацию — в разделе реализации. При этом в разделе реализации необходимо указывать имя типа перед именем метода через точку. Такая форма имени метода называется квалифицированной.
Пример
interface
type
Point = record
x, y: integer;
procedure Move(dx: integer; dy: integer); // только заголовок
end;
implementation
procedure Point.Move(dx: integer; dy: integer); // "имя_типа." перед именем метода -- квалификация
begin
Self.x += dx;
Self.y += dy;
end;