Добавить комментарий

Delphi

Как ограничить дружественность

В Delphi классы, находящиеся в одном unit - дружественны друг другу, т.е. видят поля и методы друг друга вне зависимости от их продекларированной видимости. Для случая, когда этот доступ потребуется ограничить введено ключевое слово restrict:

unit SomeUnit;
type
  T1 = class
  private
    Fb: boolean;
  strict private
    Fsb: boolean;
  end;
  T2 = class
    procedure DoIt;
  end;
...

Из методов T2 можно обращаться к полю Fb у экземпляров класса T1, потому что T1 и T2 - дружественные классы. Поле Fsb снаружи класса T1 будет недоступно никому.

Аналогично действует и strict protected. Содержимое раздела protected доступно наследникам и дружественным классам, содержимое strict protected - только наследникам.

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Допустимые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и абзацы переносятся автоматически.
  • Вы можете цитировать другие сообщения, используя тэг [quote]

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и абзацы переносятся автоматически.