Конструктор

Метод який називається так само як клас, запускається першою і ініціалізує поля класу

Перший конструктор С1 працює швидше за С2

class C1 { 

     int A; 

     int B; 

     public C1(int a, int b) { A = a; B = b; }     // добре

}

C1 c = new C1(1, 2);

----------------------

class C2 { 

     public int A; 

     public int B; 

     public C2() { }

C2 c = new C2(); 

c.A = 1;                  // повільно

c.B = 2;                  // повільно

Викликати конструктор базового класу

 

class A : B

{

     public string ID { get; set; }

     public A(string name, string id) : base(name)

     {

          ID = id;

     }

}

Викликати інший конструктор

class A 

     public A() : this(-1, "") { 

     } 

     public A(int weight, string name) {          

     } 

}

Конструктор може бути приватним, аби інші класи не могли створювати об'єкти

Конструктор копіювання

 

// два об'єкти матимуть одну і туж адресу

Worker w2 = w1;   

// два різних об'єкти

public Point(Point p) {

    x = p.x;

    y = p.y;

}

Point p2 = new Point(p1);