Основы 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.
|