Записи в модулях с полным синтаксисом

Материал из Вики ИТ мехмата ЮФУ
Перейти к: навигация, поиск

Если требуется определить запись в модуле в полной форме, в разделе интерфейса следует определять саму запись и только заголовки её методов, а реализацию — в разделе реализации. При этом в разделе реализации необходимо указывать имя типа перед именем метода через точку. Такая форма имени метода называется квалифицированной.

Пример

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;