Справочник функций и процедур Delphi: Private

  Навигация по первой букве:

A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z

  Навигация по категории:

Compiler directives, Directives, Keywords / Types, Variables, Constants / Functions, Procedures

  Реклама:

 

Private
Деректива
Начинает частный (Private) раздел данных и методов в классе unit
  
type Class declaration
Private
  Data | Method declaration;
{...}
end;

Google  
 
Описание
Директива Private начинает раздел данных (полей) и подпрограмм (методы) класса, которые являются частными (внутренними) для этого класса.

Это - жизненно важная часть Объектно-ориентированной концепции, в которой класс рассматривается как черный ящик - то, что используется внутри не уместно для внешнего использования. Указанные в частном (Private) разделе данные и подпрограммы используются другими подпрограммами только данного класса.

Если частные данные нуждаются во внешнем доступе, то свойство public (или published) предоставят данный доступ.

Частные (Private) данные и подпрограммы не доступны даже потомкам класса, чтобы обеспечить этот доступ вы должны использовать Protected. Защищенные (Protected) данные и методы внешне невидимы, но доступны для всех классов в иерархии.
Похожие команды
Function  Определяет подпрограмму, которая возвращает значение

Procedure  Определяет подпрограмму, которая не возвращает значение

Property  Определяет управляемый доступ к полям класса

Protected  Начинает раздел класса частных данных доступных подклассам

Public  Начинает внешне доступный раздел класса

Published  Начинается изданный, внешне доступный раздел класса

Type  Определяет новую категорию переменной или процесса

 
Пример кода : Класс с частными данными и частной подпрограммой
// Полный код Модуля.
// -----------------------------------------------------------
// Вы должны поместить этот код в модуль с именем Unit1 и с формой
// названную Form1, которая имеет событие OnCreate названное FormCreate.

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  // Класс с Индексированными свойствами
  TRectangle = class
  Private
    fCoords: array[0..3] of Longint;
    function  GetCoord(Index: Integer): Longint;
    procedure SetCoord(Index: Integer; Value: Longint);
  public
    property Left   : Longint index 0 read GetCoord write SetCoord;
    property Top    : Longint index 1 read GetCoord write SetCoord;

    property Right  : Longint index 2 read GetCoord write SetCoord;
    property Bottom : Longint index 3 read GetCoord write SetCoord;
    property Coords[Index: Integer] : Longint read GetCoord write SetCoord;
  end;

  // Сам класс формы
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

// Свойство TRectangle подпрограмма 'Получатель'
function TRectangle.GetCoord(Index: Integer): Longint;
begin
  // Только разрешенные допустимые индексные значения
  if (Index >= 0) and (Index <= 3)
  then Result := fCoords[Index]
  else Result := -1;
end;

// Свойство TRectangle подпрограмма 'Установщик'
procedure TRectangle.SetCoord(Index, Value: Integer);
begin
  // Только разрешенные допустимые индексные значения
  if (Index >= 0) and (Index <= 3)
  then fCoords[Index] := Value;
end;

// Основная линия кода
procedure TForm1.FormCreate(Sender: TObject);
var
  myRect : TRectangle;
  i : Integer;

begin
  // Создание моего маленького прямоугольника
  myRect := TRectangle.Create;

  // И установка угловых координат
  myRect.Left := 22;       // Левых используя прямой метод
  myRect.Top  := 33;
  myRect.SetCoord(2,44);   // Правых используя индексированный метод
  myRect.SetCoord(3,55);

  // И спрос этих значений
  for i:= 0 to 3 do
    ShowMessage('myRect coord '+IntToStr(i)+' = '+intToStr(myRect.GetCoord(i)));
end;

end.
myRect coord 0 = 22
myRect coord 1 = 33
myRect coord 2 = 44
myRect coord 3 = 55
 


Copyright © 2004-2016 Delphi Sources (источник – "DelphiBasics.ru")
 


Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook