ВВЕДЕНИЕ 2
Какие элементы языка программирования C# можно объявлять статическими? 3
Понятие статического класса. Какие особенности использования статических классов в программах на C#? Ключевое слово static 4
Свойства статического класса 4
Примеры, которые демонстрируют свойства статического класса 4
Примеры статических классов 5
Какие преимущества применения статических классов, методов и переменных в программах на C#? 9
Чем отличается вызов статического метода от нестатического? 10
Можно ли объявить скрытый (private) статический член в некотором классе? 11
Можно ли объявлять статический член класса с модификатором доступа protected? 11
10. Может ли нестатический класс содержать статические переменные и статические методы? 12
Можно ли объединять статические и нестатические методы в одном классе? 12
Можно ли в статическом методе статического класса создать объект нестатического класса? 13
Что такое статические конструкторы? Пример 14
Какие правила (особенности) использования статических конструкторов? 14
Можно ли из статических конструкторов инициализировать нестатические переменные класса? 15
Для чего нужна динамическая идентификация типов (RTTI – run-time type information)? Преимущества использования 16
Какие ключевые слова (операторы) введенны в языке C# для обеспечения динамической идентификации типов? 16
3. Общая форма оператора is 17
Примеры использования оператора is для базовых типов и выражений 18
Как работает оператор is в случае наследования классов? Примеры 20
Оператор as. Общая форма 23
Пример использования оператора as 24
Каким образом оператор as можно заменить оператором is? Пример 25
ЗАКЛЮЧЕНИЕ 27
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 28
Интернет ресурсы 28
ВВЕДЕНИЕ
Статические поля доступны всем методам класса. Независимо от того, какой объект вызвал метод, используются одни и те же статические поля, позволяя методу использовать информацию, созданную другими объектами класса. Статические поля представляют общий информационный пул для всех объектов классов, позволяя извлекать и создавать общую информацию. Например, у класса Person может быть статическое поле message, в котором каждый объект может оставить сообщение для других объектов класса.
Аналогично полям, у класса могут быть и статические методы, объявленные с модификатором static. Такие методы не используют информацию о свойствах конкретных объектов класса - они обрабатывают общую для класса информацию, хранящуюся в его статических полях. Например, в классе Person может быть статический метод, обрабатывающий данные из статического поля message. Другим частым случаем применения статических методов является ситуация, когда класс предоставляет свои сервисы объектам других классов. Таковым является класс Math из библиотеки FCL, который не имеет собственных полей - все его статические методы работают с объектами арифметических классов.
Конструктор - неотъемлемый компонент класса. Нет классов без конструкторов. Конструктор представляет собой специальный метод класса, позволяющий создавать объекты класса. Одна из синтаксических особенностей этого метода в том, что его имя должно совпадать с именем класса. Если программист не определяет конструктор класса, то к классу автоматически добавляется конструктор по умолчанию - конструктор без аргументов. Заметьте, что если программист сам создает один или несколько конструкторов, то автоматического добавления конструктора без аргументов не происходит.
В классе можно объявить статический конструктор с атрибутом static. Он вызывается автоматически - его не нужно вызывать стандартным образом. Точный момент вызова не определен, но гарантируется, что вызов произойдет до создания первого объекта класса. Такой конструктор может выполнять некоторую предварительную работу, которую нужно выполнить один раз, например, связаться с базой данных, заполнить значения статических полей класса, создать константы класса, выполнить другие подобные действия. Статический конструктор, вызываемый автоматически, не должен иметь модификаторов доступа
Do'stlaringiz bilan baham: |