Borland Pascal. Руководство пользователя

6cac1dc9

Определение методов


Процесс определения методов объектов напоминает модули Borland Pascal. Внутри объекта метод определяется заголовком про- цедуры или функции, действующей как метод:

type TEmployee = object Name, Title: string[25]; Rate: Real; procedure Init (AName, ATitle: String; ARate: Real); function GetName : String; function GetTitle : String; function GetRate : Real; end;

Примечание: Поля данных должны быть описаны перед пер- вым описанием метода.

Как и описания процедур и функций в интерфейсной секции мо- дуля (interface), описание методов внутри объекта говорит, что методы делают, но не говорит, как.

Это определяется вне определения объекта, в отдельном описа- нии процедуры или функции. Если метод полностью определяется вне объекта, то имени метода должно предшествовать имя типа объекта, которому принадлежит этот метод, с последующей точкой:

procedure TEmployee.Init(AName, ATitle: string;ARate: Real); begin Name := AName; Title := ATitle; Rate := ARate; end;

function TEmployee.GetName: String; GetName := Name; end;

function TEmployee.GetTitle: String; begin GetTitle := Title; end;

function TEmployee.GetRate: Real; begin GetRate := Rate; end;

Метод опpеделения следует методу интуитивного pазделения точками для указания поля записи. Кpоме наличия опpеделения TEmployee.GetName можно было бы опpеделить пpоцедуpу с именем GetName, в имени котоpой нет пpедшествующего идентификатоpа TEmployee. Однако, такая "внешняя" GetName не будет иметь никакой связи с объектом типа TEmployee и будет только запутывать смысл пpогpаммы.



Содержание раздела