progs.biz  
Начало > C# > Основы > Урок 22
C#
VB.NET
Visual C++.NET
ASP.NET
Visual C++ 6
WinAPI
C/C++
Delphi
C++ Builder
Java
PHP
DirectX
Visual Basic 6.0
Ассемблер
Интернет
Сист. прогр-ние
Pocket PC
Обзор книг
Обзор программ

Разработка WEB-сервисов XML и серверных компонентов на Visual Basic.NET и Visual C#.NET. Учебный курс MCAD/MCSD.
 Разработка WEB-сервисов XML и серверных компонентов на Visual Basic.NET и Visual C#.NET. Учебный курс MCAD/MCSD.
Заказать на Озоне



Яндекс-цитирования

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

Рассылки нашего сайта на Subscribe.Ru
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET new!
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz

 
 
Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2005 сайт progs.biz
© 2002-2005 Алексеев Игорь