Добавить комментарий
![]() |
Как ограничить дружественность |
В Delphi классы, находящиеся в одном unit - дружественны друг другу, т.е. видят поля и методы друг друга вне зависимости от их продекларированной видимости. Для случая, когда этот доступ потребуется ограничить введено ключевое слово strict:
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 - только наследникам.
Метки: