ВНИМАНИЕ! Конкурс по программированию!

Проект Programmers.kz и школа hotPen3D2D предлагает Вам курсы по веб-дизайну, веб-программированию и компьютерной графике. Подробности здесь.

 
Информация к новости
 (голосов: 1)

Урок 22. Статические методы класса

Категория: Программирование » C# » Уроки C#

На предыдущем уроке мы рассмотрели статические переменные класса. При этом наша переменная 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.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Добавление комментария

Имя:*
E-Mail:
Комментарий:
Введите два слова, показанных на изображении: *