Основы C#. Урок 22. Статические методы класса
На предыдущем уроке мы рассмотрели статические переменные
класса. При этом наша переменная data была объявлена как
public. Это не слишком хорошо - переменные класса лучше
прятать от посторонних глаз. Но, так как доступ к нашей
переменной нам все-таки нужен, то мы добавим в наш класс
функции для чтения и записи переменной data. Вот новый вариант
нашего класса: class MyClass
{
//Статическая переменная
static int data;
//Статический метод для чтения переменной
public static int GetData()
{
return data;
}
//Статический метод для записи переменной
public static void SetData(int newData)
{
data=newData;
}
//Конструктор
public MyClass()
{
data++;
}
}
class Test
{
public static void Main()
{
MyClass a=new MyClass();
MyClass b=new MyClass();
//Вызов статического метода GetData
System.Console.WriteLine(MyClass.GetData());
//Вызов статического метода SetData
MyClass.SetData(5);
System.Console.WriteLine(MyClass.GetData());
}
}
Указанный фрагмент выведет, разумеется, 2 и 5.
Обратите внимание, что к статическим переменным и методам
мы всегда получаем доступ через имя класса, а к нестатическим
- через экземпляр класса. Но это не значит, что мы не имеем
доступа к статическим переменным класса из нестатических
методов класса - имеем, и даже у нас есть пример этому -
конструктор нашего класса
MyClass. |