Метод задается так же, как
var
FirstPozition : Pozition;
…
FirstPozition.Init(10,15);
Метод задается так же, как и процедура в модуле: внутри объекта записывается заголовок (как в секции Interface модуля); при этом все поля, используемые мето-дом, должны предшествовать его объявлению. Определение метода (расшифровка действий) происходит вне объявления объекта. Имя метода должно предваряться названием типа объекта, которому метод принадлежит, сопровождаемым точкой. Например,
procedure Pozition. Init(CoordX, CoordY: integer);
begin
X: = CoordX:
Y: = CoordY;
end;
Заметим, что имена формальных параметров метода не могут совпадать с именами полей данных объекта.
Также как модуль скрывает детали реализации процедур от пользователя, объект может скрывать свои поля и методы. Для этого используется ключевое слово private (личный). Личные поля и методы доступны только внутри метода. Объявление выглядит следующим образом:
type
ObjectName=object
поле;
…
поле;
метод;
метод;
private
поле;
…
поле;
метод;
…
метод;
end;
Наследование. Рассмотрим точку с координатами Х и Y. Ее можно сделать видимой или невидимой, ей можно задать цвет, ее можно переместить. Создадим объект с такими возможностями:
Point=object
X,Y : integer; "
procedure Init(CoordX, CoordY : integer);
function GetX : integer;
function GetY . integer;
Visible: Boolean;
Color: Word;
procedure Init(CoordX, CoordY : integer; InitCoIor : Word);
function Is Visible : Boolean;
procedure Show;{показывает точку}
procedure Blind; {стирает точку}
procedure Jump(NextX, NextY : integer);{nepeMeiuaer точку}
end;
Заметим, однако, что поля X.Y и методы GetX, GetY практически совпадают с соответствующими полями и методами объекта Pozition.
Турбо-Паскаль предоставляет возможность учесть эту ситуацию. Следует считать тип объекта Point порожденным типом Pozition, записав это следующим образом:
Point=object(Pozition)
Visible : Boolean;
Color : Word;
procedure Init(CoordX, CoordY : integer; InitColor : Word);
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий