Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / Pascal и Delphi / Borland Pascal / Объектно-ориентированное программирование /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Определение методов - Программирование от RIN.RU
Определение методов

Процесс определения методов объектов напоминает модули 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аммы.


Вперед  >>>
 1  2 


 8  Комментарии к статье  8  Обсудить в форуме  8  Обсудить в чате

8  В тему

Объекты

Наследование

Объекты: наследующие записи

Tехника программирования

Методы

Совмещенные код и данные

Объекты и модули

Программирование в "действительном залоге"

Инкапсуляция

Методы: никакого ухудшения

Расширяющиеся объекты

Cтатические методы

Полиморфизм

Совместимость типов объектов

Полиморфические объекты

Виртуальные методы

Вызов виртуальных методов

Статические или виртуальные методы?

Динамические объекты

Размещение и инициализация

Удаление динамических объектов

Деструкторы

Пример размещения объекта

Что же дальше?

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь
Источник: http://www.atletico-today.ru/268.html.