Объект в ТурбоПаскале - это структура данных, содержащая поля данных различных типов и заголовки методов и обобщающая структуру «Запись» (record).
Синтаксис описания объекта:
<ИмяПотомка>=
оbjесt<ИмяПредка> поле;
поле;
…
метод;
…
метод;
end;
В отличие от записи полями объекта могут быть, кроме данных, еще и методы, обрабатывающие эти данные
Метод - это процедура или функция, объявленные внутри описания объекта. Синтаксис описания метода:
procedure <Заголовок>(<Параметр1>, <Параметр2>:integer),
Метод имеет доступ к полям данных объекта, не требуя передачи их ему в виде параметров
Объявление метода внутри объявления объектного типа содержит только заголовок. Тело метода определяется вне объявления объекта. Его заголовок должен содержать имя объекта, которому принадлежит метод. Например:
procedure <ТипОбъекта.Метод>
(<Параметр1>, <Параметр2> : integer);
begin
…
…
еnd;{Метод}
Методы подразделяют на статические и виртуальные. Виртуальный метод отличается от статического тем. что реализующий его код подсоединяется к исполняемой программе не в процессе компиляции, а в процессе выполнения, что достигается, так называемым, поздним связыванием. Это дает возможность строить иерархию объектов с одинаковыми названиями методов, реализуемыми, однако, различными кодами.
Синтаксис виртуального метода:
procedure <Метод> (<Параметр1>, <Параметр2> : integer): virtual;
Кроме обычных процедур и функций, ТурбоПаскаль 6.0 реализует два специальных типа методов: конструктор и деструктор.
Конструктор - это специальный метод, инициализирующий объект, содержащий виртуальные методы, он объявляется специально зарезервированным словом constructor. Конструктор инициализирует объект путем установления связи между объектом и специальной таблицей виртуальных методов, содержащей адреса кодов, реализующих виртуальные методы. Конструктор может также использоваться для инициализации полей данных объекта.