Модификаторы доступа
Каждое поле имеет модификатор доступа, принимающий одно из четырех значений: public, private, protected, internal.
Модификатор private является атрибутом доступа по умолчанию. Он закрывает поля от всех других классов, разрешая прямой доступ к ним (чтение и запись) только методам самого класса. Все поля всегда доступны всем методам класса. Они являются для методов класса глобальной информацией, с которой работают все методы класса, извлекая из полей нужные им данные и изменяя их значения в ходе работы.
Модификатор protected. Этот модификатор открывает поля классам наследникам. Если класс A объявил некоторое поле с модификатором protected, то методы класса B, который является наследником класса A и, следовательно, наследует поля класса A, могут непосредственно работать с наследуемыми полями.
Модификатор internal. Этот модификатор открывает поля из одного проэкта. Если класс A объявил некоторое поле с модификатором internal, то методы класса B из этого же проекта, являющегося клиентом класса A, могут непосредственно работать с таким полем.
Комбинация атрибутов protected и internal
Эта комбинация открывает поле тем классам, которые являются либо наследниками, либо классами из одного проэкта.
Если поля доступны только для методов класса, то они имеют модификатор доступа private, который можно опускать. Такие поля считаются закрытыми, но часто желательно, чтобы некоторые из них были доступны в более широком контексте. Если некоторые поля класса A должны быть доступны для методов класса B, являющегося потомком класса A, то эти поля следует снабдить модификатором protected. Такие поля называются защищенными. Если некоторые поля должны быть доступны для методов классов B1, B2 из одного проекта с классом А, то эти поля следует снабдить модификатором internal, а все классы B поместить в один проект ( assembly ). Такие поля называются дружественными. Наконец, если некоторые поля должны быть доступны для методов любого класса B, которому доступен сам класс A, то эти поля следует снабдить модификатором public. Такие поля называются общедоступными или открытыми.
Модификатор | Определение |
public | Доступ к типу или члену возможен из любого другого кода в той же сборке или другой сборке, ссылающейся на него. |
private | Доступ к типу или члену можно получить только из кода в том же классе. |
protected | Доступ к типу или члену можно получить только из кода в том же классе или в производном классе. |
internal | Доступ к типу или члену возможен из любого кода в той же сборке, но не из другой сборки. |
protected internal | Доступ к типу или члену возможен из любого кода в той же сборке, или из производного класса в другой сборке. |
- Основные понятия ооп
- Модификаторы доступа
- Uml, назначение, типы диаграм.
- Диаграмма классов
- Деструкторы
- Свойства
- Индексаторы
- Этапы проектирования класса.
- Отношения между классами
- Вложенные классы
- Наследование
- Отношения и их графическое изображение на диаграмме классов
- Полиморфизм
- Абстрактные классы
- Классы без потомков
- Интерфейсы
- Изображение интерфейсов и абстрактных классов на диаграмме классов
- Вложенные классы
- Статические классы
- Делегаты
- Криптография и .Net
- Сетевое программирование в c#
- Создание простого клиент-серверного приложения используя сокеты
- Многопоточность
- Разработка библиотек dll