Вопросы выбора уровней доступа для методов
Обновлен: Ноябрь 2007
Применение оптимальных уровней доступа к членам иерархии классов облегчает поддержание иерархии, позволяя контролировать использование данных членов.
Как правило, необходимо объявлять члены класса при помощи модификаторов доступа, которые предоставляют наименьший уровень доступа. Ограничение доступа к членам класса снижает вероятность возникновения конфликтов по совпадению имен и защищает методы от случайного использования.
Члены внутреннего класса необходимо объявлять как Private; доступ к таким членам осуществляется только из класса, в котором они определены.
Методы, используемые только в классе или используемые только производными классами, должны использовать модификатор доступа Protected. К члену, помеченному как Protected, можно получить доступ только из класса, в котором он объявлен, а также из любого класса, производного от класса, в котором был объявлен данный член.
К членам данных, помеченным как Friend, можно получить доступ из внешнего класса, но только при помощи модулей, являющихся частью проекта, в котором определен класс.
Члены данных Public видны всем, они часто используются внизу иерархии классов.