Данные: поля и константы

Данные, содержащиеся в классе, могут быть переменными или константами и задаются в соответствии с правилами, рассмотренными в разделах "Переменные" и "Именованные константы". Переменные, описанные в классе, называются полями класса. При описании элементов класса можно также указывать атрибуты и спецификаторы, задающие различные характеристики элементов. Синтаксис описания элемента данных:

[ атрибуты ] [ спецификаторы ] [ const ] тип имя [ = начальное_значение ]

Возможные спецификаторы полей и констант перечислены в таблице 5.2. Для констант можно использовать только спецификаторы 1–6.

Таблица 5.2. Спецификаторы полей и констант класса
Спецификатор Описание
new Новое описание поля, скрывающее унаследованный элемент класса
public Доступ к элементу не ограничен
protected Доступ только из данного и производных классов
internal Доступ только из данной сборки
protected internal Доступ только из данного и производных классов и из данной сборки
private Доступ только из данного класса
abstract Одно поле для всех экземпляров класса
sealed Поле доступно только для чтения
static field Поле может изменяться другим процессом или системой

По умолчанию элементы класса считаются закрытыми ( private ). Для полей класса этот вид доступа является предпочтительным. Все методы класса имеют непосредственный доступ к его закрытым полям.