1-Mavzu 1-Mavzu Reja: Klass a’zolariga ruxsatni boshqarish


int a, b; // MyClass sinfi uchun fabrika yaratish


Download 111.72 Kb.
bet50/96
Sana29.03.2023
Hajmi111.72 Kb.
#1307438
1   ...   46   47   48   49   50   51   52   53   ...   96
Bog'liq
1-Mavzu 1-Mavzu Reja Klass a’zolariga ruxsatni boshqarish

int a, b;
// MyClass sinfi uchun fabrika yaratish.
static public MyClass Factory(int i, int j) {
MyClass t = new MyClass();
t.a = i;
t.b = j;
return t; // ob'ektni qaytarish
}
public void Show() {
Console.WriteLine("а и b: " + a + " " + b);
}
}
class MakeObjects {
static void Main() {
int i, j;
// Fabrika yordamida ob'ektlarni shakllantirish.
for(i=0, j=10; i < 10; i++, j --) {
MyClass ob = MyClass.Factory(i, j); // ob'ekt yaratish
ob.Show();
}
Console.WriteLine() ;
}
}
Dasturning ushbu versiyasida fabrika metodi Factory() quyidagi kod satrida sinf nomi bilan chaqiriladi.
MyClass ob = MyClass.Factory(i, j); // ob'ekt yaratish
Endi bu sinfda fabrikani ishlatishdan oldin MyClass sinfining ob'ektini yaratishga hojat yo'q.

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;

Download 111.72 Kb.

Do'stlaringiz bilan baham:
1   ...   46   47   48   49   50   51   52   53   ...   96




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