ВУЗ:
Составители:
Рубрика:
78
P1[0].Fam, p1[0].Age, pers1[0].Status);
Console.WriteLine ("Дочь={0}, возраст={1}, статус={2}",
p1[1].Fam, p1[1].Age, p1[1].Status);
Отметим, что индексатор создает из объекта как бы массив объек-
тов, индексированный по соответствующему полю, в данном случае по
полю children.
4.7. Статические поля и методы класса
При создании нового объекта класса, в памяти создается структу-
ра данных с полями, описанными в классе. Однако у класса могут быть
поля, связанные не с конкретными объектами, а со всем классом. Эти
поля объявляются как статические с модификатором static. Стати-
ческие поля доступны всем методам класса. Статические поля описы-
вают общие данные всех объектов классов. Например, у класса Person
может быть статическое поле message, в котором каждый объект мо-
жет оставить сообщение для других объектов класса.
У класса могут также быть и статические методы, объявленные с
модификатором static. Такие методы не могут использовать данные
конкретных объектов класса – они обрабатывают только общие дан-
ные класса, хранящиеся в его статических полях. Например, в классе
Person может быть статический метод, обрабатывающий данные из
статического поля message. Другим частым случаем применения ста-
тических методов является ситуация, когда класс предоставляет свои
методы объектам других классов, как например, классы Console и
Math из библиотеки FCL, которые не имеют собственных полей.
Статические поля и методы вызываются с использованием име-
ни класса.
<имя класса>.<статическое поле или метод>
Использовать статические элементы класса можно в любое время, неза-
висимо от того, созданы или нет объекты класса.
4.8. Перегрузка операций класса
Для объектов класса можно описать порядок выполнения встро-
енных операций путем описания статических методов, имя которых со-
стоит из ключевого слова operator после которого стоит знак пере-
гружаемой операции (т.е. "operator X", где X – символ перегружаемой
операции). В качестве параметров данного метода используются опе-
ранды, участвующие в операции. Унарные операции имеют один пара-
метр, а бинарные – два. В каждом случае один параметр должен быть
такого же типа, как класс, в котором определяется операция, как пока-
зано в следующем примере:
Страницы
- « первая
- ‹ предыдущая
- …
- 76
- 77
- 78
- 79
- 80
- …
- следующая ›
- последняя »