Среда, 08.01.2025, 20:20
Главная Регистрация RSS поиск
Приветствую Вас, Гость
Меню сайта
Категории раздела
HTML [44]
Visual C++ и MFC [21]
c++ [78]
php [19]
Javascript [15]
C# [51]
загрузки [0]
XNA [10]
создание игр с помощью xna
Наш опрос
Каким языком программирования вы увлекаетесь
Всего ответов: 2420
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Реклама
Главная » Статьи » C#

Урок 24
В C# нет глобальных переменных, функций или констант. Все они обязательно должны принадлежать некоторому классу. И если у вас имеется класс, содержащий в себе, например, некоторые нужные вам константы, то экземпляры такого класса вам не нужны (так как вы создали этот класс исключительно как хранилище). Чтобы запретить создание экземпляров класса, вы объявляете конструктор в нем как закрытый (то есть с модификатором private или вовсе без модификатора - так как отсутствие модификатора и подразумевает private). Это означает, что создать экземпляр такого класса не удастся (что нам и надо).

Вот пример такого класса:
namespace test
{
//Класс без экземпляра
class MyClass
{
//Закрытый конструктор
private MyClass()
{
}
public static int MyPhoneNumber=1239999;
}
class Test
{
public static void Main()
{
System.Console.WriteLine(MyClass.MyPhoneNumber);
}
}
}

Тут у нас класс MyClass имеет закрытый конструктор, так что создавать его экземпляры мы не можем. Так, следующий код будет ошибочным:
class Test
{
public static void Main()
{
MyClass a=new MyClass(); //ошибка!!!
}
}

Использовать же статические переменные и константы такого класса мы можем (так, мы выводим на экран константу MyPhoneNumber).

Разумеется, в таком классе может содержать и методы:
class MyClass
{
//Закрытый конструктор
private MyClass()
{
}
public static int MyPhoneNumber=1239999;
public static int SomeNumber=1;
public static int GetSomeNumber(){
SomeNumber++;
return SomeNumber;
}
}
class Test
{
public static void Main()
{
System.Console.WriteLine(MyClass.GetSomeNumber()); //Выведется 2
System.Console.WriteLine(MyClass.GetSomeNumber()); //Выведется 3
}
}

Указанный фрагмент выведет 2 и 3.
Категория: C# | Добавил: SLOT85 (07.02.2012)
Просмотров: 570 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]