class Circle
{
public Circle(double r)
{ x = 0; y = 0; this.r = r; }
}
Основные свойства конструкторов.
1. Конструктор не возвращает значение, даже типа void.
2. Класс может иметь несколько конструкторов с разными параметрами для разных видов инициализации.
3. Если не указано ни одного конструктора, или какие-то поля не были инициализированы, то полям присваивается нуль, полям ссылочных типов – null.
Конструкторы класса
Статические классы содержат только статические члены (в том числе, и конструктор),
которые хранятся в памяти в единственном экземпляре. Поэтому создавать экземпляры класса для них нет смысла.
Пример:
class Demo
{
static int a;
static int b;
private Demo(){} //закрытый конструктор
static Demo() //статический конструктор
{
a = 10; b = 2; }
public static void Print ()
{
Console.WriteLine("{0}+{1}={2}", a, b, a+b);
Console.WriteLine("{0}*{1}={2}", a, b, a*b);
Console.WriteLine("{0}-{1}={2}", a, b, a-b);
Console.WriteLine("{0}/{1}={2}", a, b, a-b);
}
}
Рассмотрим как происходит работа со статическим классом:
class Program
{
static void Main()
{
//ошибка: создать экземпляр статического класса нельзя
//Demo S=new Demo();
Demo.Print();
}
}
Результат работы программы:
10+2=12
10*2=20
10/2=5
Статические методы и поля
Статические поля
static int x;
MyClass.x = 5;
Статические методы
static int Method () { … }
MyClass.Method()