Другие языки программирования и технологии

Помогите найти ответ Что такое открытые (public) члены класса, и в чем заключаются особенности их использования?

Геннадий Шамин
Геннадий Шамин
17 030
Существует четкое разграничение понятий: создатель класса и пользователь класса. (В маленьких проектах это обычно один и тот же программист) .

Создатель класса занимается описанием внутренней логики класса, т. е. работает в пределах тела класса:

class MyClass
{
<область работы создателя класса>
}

Пользователь класса - тот, кто использует его полезные свойства, иначе говоря работает из-под объекта класса, обращаясь его полям и методам через объектную переменную (в нашем примере - ex):

MyClass ex = new MyClass();

ex.открыторе_поле = значение;
переменная = ex.открытый_метод ();
и так далее.. .

Так вот, модификаторы доступа созданы для того, чтобы скрыть от ПОЛЬЗОВАТЕЛЯ КЛАССА поля и методы, к которым он не должен обращаться, и открыть те, которыми он может безопасно пользоваться. Подчеркну: для создателя класса все поля и методы, не зависимо от их модификаторов, являются видимыми! То есть, модификаторы распространяются только на пользователя класса, работающего с его объектной переменной.

Следующие модификаторы используются наиболее часто:

public - максимальная видимость. Поле или метод с таким модификатором будет видно пользователю класса из-под объектной переменной.

protected - защищенный. Пользователь класса не увидит поле или метод с данным модификатором. Используется, в основном, при наследовании классов: protected - поля и методы будут видны в классе-наследнике.

private - закрытый. Поле или метод с таким модификатором окажется невидимым ни в классе-потомке (при наследовании) , ни тем более, для пользователя класса. Обычно private - поля служат для хранения вспомогательных данных, обеспечивающих нормальную работу других частей класса. То есть, private намекает на принадлежность поля или метода только этому классу в качестве вспомогательного.

Если есть другие вопросы: ICQ: 228004347 или Агент.
Павел Глущенко
Павел Глущенко
7 465
Лучший ответ
обычно разделяют члена класса на открытые и закрытые. к закрытому члену класса ты можешь обращаться только из самого класса, к открытому - из любого другого модуля, класса и т. д.
Вадим Рыльцов
Вадим Рыльцов
3 836