Axborot tizimlari va texnologiyalari yo`nalishi 1-kurs kechki ta’lim talabalariga


Download 58.06 Kb.
bet3/4
Sana04.02.2023
Hajmi58.06 Kb.
#1159903
1   2   3   4
Bog'liq
4 maruza mashg`uloti ishlanmasi

2. Statik konstruktor[1,3]. Oddiy konstruktorlardan tashqari, sinfda statik konstruktorlar ham bo'lishi mumkin. Statik konstruktorlar quyidagi o'ziga xos xususiyatlarga ega:

  • Statik konstruktorlarda kirish modifikatori bo'lmasligi va parametrlarni qabul qilmasligi kerak

  • Statik usullarda bo'lgani kabi, statik konstruktorlarda siz this kalit so'zidan joriy sinf ob'ektiga murojaat qila olmaysiz va siz faqat statik sinf a'zolariga kira olasiz.

  • Statik konstruktorlarni dasturda qo'lda chaqirish mumkin emas. Ular avtomatik ravishda ushbu toifadagi ob'ektni birinchi yaratilishida yoki uning statik a'zolariga birinchi qo'ng'iroqda (agar mavjud bo'lsa) avtomatik ravishda bajariladi.

Statik konstruktorlar odatda statik ma'lumotlarni ishga tushirish uchun ishlatiladi yoki ular faqat bir marta bajarilishi kerak bo'lgan amallarni bajaradi.
Keling, statik konstruktorni aniqlaymiz:
class User
{
static User()
{
Console.WriteLine("Birinchi foydalanuvchi yaratildi ");
}
}
class Program
{
static void Main(string[] args)
{
User user1 = new User(); // bu erda statik konstruktor ishlaydi
User user2 = new User();
Console.Read();
}
}


3. Statik sinflar[1,3]. Statik sinflar static modifikatori bilan e'lon qilinadi va faqat statik maydonlar, xususiyatlar va usullarni o'z ichiga olishi mumkin. Masalan, agar Account sinfida faqat statik o'zgaruvchilar, xususiyatlar va usullar bo'lsa, u statik deb e'lon qilinishi mumkin:
static class Account
{
private static decimal minSum = 100; // barcha hisoblar uchun ruxsat etilgan minimal miqdor
public static decimal MinSum
{
get { return minSum; }
set { if(value>0) minSum = value; }
}
// ma'lum vaqtdan keyin hisobdagi summani ma'lum stavkada hisoblash
public static decimal GetSum(decimal sum, decimal rate, int period)
{
decimal result = sum;
for (int i = 1; i <= period; i++)
result = result + result * rate / 100;
return result;
}
}
C #da statik sinfning yaxshi namunasi Math sinfidir, u turli matematik operatsiyalar uchun ishlatiladi.



Download 58.06 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling