2. Static konstruktorlar.
Konstruktorlarni ham static deb e'lon qilinishi mumkin. static konstruktor, odatda, ushbu sinf ob'ektining alohida nusxasiga emas, balki butun sinfga qo'llaniladigan komponentlarni ishga tushirish uchun ishlatiladi. Shuning uchun, sinf a'zolari ushbu sinfning har qanday ob'ektlarini yaratishdan oldin static konstruktor tomonidan initsalizatsiya qilinadi. Quyida static konstruktorni ishlatishga oddiy misol keltirilgan.
// static konstruktorni qo'llash.
using System;
class Cons {
public static int alpha;
public int beta;
// static konstruktor.
static Cons() {
alpha = 99;
Console.WriteLine("В статическом конструкторе.");
}
// konstruktor nusxasi,
public Cons() {
beta = 100;
Console.WriteLine("В конструкторе экземпляра.");
}
}
class ConsDemo {
static void Main() {
Cons ob = new Cons();
Console.WriteLine("Cons.alpha: " + Cons.alpha);
Console.WriteLine("ob.beta: " + ob.beta);
}
}
Ushbu kodni bajarilganda quyidagi natijalar olinadi.
В статическом конструкторе.
В конструкторе экземпляра.
Cons.alpha: 99
ob.beta: 100
Shuni esda tutingki, static turdagi konstruktor sinf birinchi marta nusxaning konstruktori yuklanguniga qadar avtomatik ravishda chaqiriladi. Bundan umumiy xulosa chiqarish mumkin: static konstruktor har qanday nusxa konstruktoriga qadar amalga oshirilishi kerak. Bundan tashqari, static konstruktorlar kirish modifikatorlariga ega emaslar-ular sukut bo'yicha foydalaniladi va shuning uchun ularni dasturda chaqirish mumkin emas.
Do'stlaringiz bilan baham: |