TURBO PASCAL |
Новости
|
Определение методовПроцесс определения методов объектов напоминает модули 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аммы. |
(с)Все права защищены По всем интересующим вопросам прошу писать на электронный адрес |