Шаг 136.
Язык программирования C#. Начала
Свойства и индексаторы. Выводы
На этом шаге мы подведем некоторые итоги.
Подведем некоторый итог по изученному материалу.
- Кроме полей и методов, в классе могут быть описаны и другие члены: свойства и индексаторы.
- Свойство представляет собой нечто среднее между полем и методом. По способам использования свойство похоже на поле. В общем случае значение свойства можно прочитать и свойству можно присвоить значение.
Обращение к свойству выполняется так же, как и обращение к полю: имя свойства указывается через точку после имени объекта.
- При считывании значения свойства и при присваивании значения свойству вызываются специальные методы, которые называются аксессорами (get-аксессор и set-аксессор соответственно).
Аксессоры описываются при описании свойства.
- При описании свойства указывается тип свойства и его название (также указывается спецификатор уровня доступа). Затем в фигурных скобках описываются аксессоры. Команды, выполняемые при
вызове аксессоров, указываются в фигурных скобках. Перед блоком команд для get-аксессора указывается ключевое слово get. Перед блоком команд для set-аксессора указывается ключевое слово set.
- Для свойства может быть описан только один аксессор. Если для свойства описан только get-аксессор, то такое свойство доступно для чтения, но недоступно для присваивания значения. Если для свойства описан только
set-аксессор, то такому свойству можно присвоить значение, но прочитать значение свойства нельзя.
- Свойство не определяет область памяти (то есть наличие у объекта свойства не означает, что для этого свойства выделяется память). Свойство не может быть использовано с идентификаторами ref и out. Свойство может быть статическим.
- Если в классе описан индексатор, то объект такого класса можно индексировать: после имени объекта в квадратных скобках указывается индекс (или индексы). В общем случае можно считывать значение такого выражения или присваивать значение такому выражению.
- При описании индексатора указывается спецификатор уровня доступа, тип индексатора, ключевое слово this, а также в квадратных скобках описываются индексы (указывается тип индекса и формальное название). Если индексов несколько,
то их описание разделяется запятыми. В блоке, выделенном фигурными скобками, описывается get-аксессор и set-аксессор. В аксессорах можно использовать индексы, а в set-аксессоре также используют ключевое слово value, обозначающее
присваиваемое значение. Разрешается описать два аксессора или только один аксессор.
- Индексатор не определяет область памяти. Индексатор не может быть статическим, а выражения, подразумевающие использование индексатора, не могут использоваться с ключевыми словами ref и out.
- Индексаторы можно перегружать: в классе может быть описано несколько версий индексатора, которые должны отличаться количеством и/или типом индексов.
На следующем шаге мы рассмотрим несколько примеров программ, в которых используются свойства и индексаторы.
Предыдущий шаг
Содержание
Следующий шаг