Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше
Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике
3.3.1. Поля
Первая важнейшая
роль переменных, - они задают свойства структур, интерфейсов, классов. В языке C# такие переменные
называются полями (fields). Поля объявляются
при описании класса (и его частных случаев - интерфейса, структуры). Когда
конструктор класса создает очередной объект - экземпляр класса, то он в
динамической памяти создает набор полей, определяемых классом, и записывает в
них значения, характеризующие свойства данного конкретного экземпляра. Так что
каждый объект в памяти можно рассматривать как набор соответствующих полей
класса со своими значениями. Время существования и область видимости полей
определяется объектом, которому они принадлежат. Объекты в динамической памяти,
с которыми не связана ни одна ссылочная переменная, становятся недоступными.
Реально они оканчивают свое существование, когда сборщик мусора (garbage collector) выполнит чистку
«кучи». Для значимых типов, к которым принадлежат экземпляры структур, жизнь
оканчивается при завершении блока, в котором они объявлены.
Есть
одно важное исключение. Некоторые поля могут жить дольше. Если при объявлении
класса поле объявлено с модификатором static, то такое поле
является частью класса и единственным на все его экземпляры. Поэтому static- поля живут так
же долго, как и сам класс. Более подробно эти вопросы будут обсуждаться при
рассмотрении классов, структур, интерфейсов.