Private

Name : string;

Address : string;

End;

Директива private также используется для ограничения использования некоторых методов объекта. Поля и методы, объявленные как private, доступны только в том модуле, в котором объявлен тип, которому они принадлежат. В модуле, который использует этот тип, поля и методы, объявленные как private, недоступны.

Пример 1. Рассмотрим пример использования объектов при работе с символьной и текстовой информацией в текстовом режиме. На нижнем уровне определения типов объектов будем использовать переменные (X1,Y1) и (X2,Y2) - координаты углов окна, X,Y – переменные, определяющие позицию курсора в окне, C – цвет окна. Для задания значений координат углов окна и цвета фона будем использовать процедуру INIT, которая полям X1,Y1,X2,Y2,С присваивает передаваемые значения. Для задания значений, определяющих позицию курсора в окне, используем процедуру INIT1. Процедуру SHOW будем использовать для изображения окна.
USES CRT;TYPE TypeWin = OBJECT х1,y1,x2,y2,c : integer; х,y :integer; Procedure INIT(ax1,ay1,ax2,ay2,ac:integer); Procedure INIT1(ax,ay:integer); Procedure SHOW;End;{реализация методов}Procedure TypeWin.INIT;Beginx1:=ax1; y1:=ay1; x2:=ax2; y2:=ay2; c:=acEnd;Procedure TypeWin.INIT1;Beginx:=ax; y:=ayEnd;Procedure TypeWin.SHOW;BeginTextBackground(c);Window(x1,y1,x2,y2);ClrScrEnd;{описание экземпляров объекта}Var O1 : TypeWin;{операторная часть программы или с оператором WITH}Begin{ можно использоватьO1.INIT(10,5,50,20,red); O1.SHOW; или использовать with…} With O1 do BeginINIT(10,5,50,20,red);SHOW;End;Readln;End.В рассмотренном примере поля x,y и метод INIT1 не использовались. Они будут использоваться на следующем уровне определения объектов.