Существует четкое разграничение понятий: создатель класса и пользователь класса. (В маленьких проектах это обычно один и тот же программист) .
Создатель класса занимается описанием внутренней логики класса, т. е. работает в пределах тела класса:
class MyClass
{
<область работы создателя класса>
}
Пользователь класса - тот, кто использует его полезные свойства, иначе говоря работает из-под объекта класса, обращаясь его полям и методам через объектную переменную (в нашем примере - ex):
MyClass ex = new MyClass();
ex.открыторе_поле = значение;
переменная = ex.открытый_метод ();
и так далее.. .
Так вот, модификаторы доступа созданы для того, чтобы скрыть от ПОЛЬЗОВАТЕЛЯ КЛАССА поля и методы, к которым он не должен обращаться, и открыть те, которыми он может безопасно пользоваться. Подчеркну: для создателя класса все поля и методы, не зависимо от их модификаторов, являются видимыми! То есть, модификаторы распространяются только на пользователя класса, работающего с его объектной переменной.
Следующие модификаторы используются наиболее часто:
public - максимальная видимость. Поле или метод с таким модификатором будет видно пользователю класса из-под объектной переменной.
protected - защищенный. Пользователь класса не увидит поле или метод с данным модификатором. Используется, в основном, при наследовании классов: protected - поля и методы будут видны в классе-наследнике.
private - закрытый. Поле или метод с таким модификатором окажется невидимым ни в классе-потомке (при наследовании) , ни тем более, для пользователя класса. Обычно private - поля служат для хранения вспомогательных данных, обеспечивающих нормальную работу других частей класса. То есть, private намекает на принадлежность поля или метода только этому классу в качестве вспомогательного.
Если есть другие вопросы: ICQ: 228004347 или Агент.
Другие языки программирования и технологии
Помогите найти ответ Что такое открытые (public) члены класса, и в чем заключаются особенности их использования?
Геннадий Шамин
спасибо.
обычно разделяют члена класса на открытые и закрытые. к закрытому члену класса ты можешь обращаться только из самого класса, к открытому - из любого другого модуля, класса и т. д.
Похожие вопросы
- C++: в чем принципиальная разница между использованием членов класса и указателей на них?
- Помогите найти член из символов КРУПНЫЙ
- Зачем выносить определение тел функций-членов класса в отдельный *.сpp файл?
- Что такое "член класса" (ООП), зачем нужны и какие бывают виды
- помогите найти ошибку!!! с++ производный класс
- Помогите найти ошибку в коде
- Помогите найти ошибку Delphi легкая программка
- Помогите найти этот шаблон!!?
- программирование C++. Помогите найти ошибку
- Помогите найти прогу!! ! Очень срочно нужно!!!