«C# dasturlash tili» O’quv qo’llanma


Proekt 4-2. Destruktorla ishini ko’rgazmasi



Download 0,57 Mb.
bet66/76
Sana20.07.2022
Hajmi0,57 Mb.
#828017
1   ...   62   63   64   65   66   67   68   69   ...   76
Bog'liq
C # ma\'lumotnoma

Proekt 4-2. Destruktorla ishini ko’rgazmasi.

Aytib o’tildiki, agar ob’ektlar programmada boshQa ishlatilmasa, ularni yo’Qotish majburiy bo’lmaydi. “Axlat yig’ish” faQatgina effektiv bajarilishi mumkin bo’lgan holda bajariladi (odatda bir nechta ob’ektlarga bir vaQtda). Shuning uchun destruktor ishini ko’rsatish uchun ob’ektlarning ko’plab sonini yaratish va yo’Qotish zarur. Aynan shunga biz ushbu proektni bag’ishlaymiz.




Ketma-ket instruksiya

  1. YAngi fayl yarating va uni Destruct.cs deb nomlang.

  2. Destruct sinfni pastda ko’rsatilgandek yarating:

Class Destruct
Int x;
Public Destruct (int i) (
x-i

G’G’ ob’ekt xotiradan yo’Qotilayotganda chaQiriladi


~Destruct () (
Console.WriteLine(Ob’ektdan xotirani yo’Qotish);

G’G’uslub srazu yo’Qotiladigan ob’ektni yaratadi.


Public void generator(int i) (
Destruct 0qnew Destruct (i);

Konstruktor o’ziga argument sifatida o’tkaziladigan x Qiymatli o’zgaruvchanni o’zlashtiradi. Ushbu programmada destruktor o’zgaruvchan x yordamida ekran yo’Qotiladigan ob’ektning nomerini beradi. Alohida Destruct ob’ektini yaratadigan va shu zaxoti yo’Qotadigan generator () uslubiga ahamiyat bering. Qo’llanmaning keyingi punktida Qanday bajarilishini ko’rasiz.



  1. DestructDemo sinfini yarating:

Class DestructDemo:
Public static void Main () {
Int count;
Destruct ob – new Destruct (0);

G’* so’ngra for sikli yordamida ob’ektlarning ko’p miQdori yaratiladi. Bo’sh xotiraning barchasi ishlatilgandan so’ng «axlat yig’ish” operatsiyasi amalga oshiriladi. Buning uchun kearkli ob’ektlar soni kompyuter xotirasi sig’imiga bog’liQ, shuning uchun siklini shartli ravishda ko’rsatayotgan son ko’paytiriladi (sikl o’tish miQdori) *G’


for (count I; count – 100000’ count QQ)


ob.generator(count);
}
}
Boshida eshbu sinfda ob Destruct ob’ekti yaratiladi. So’ngra ushbu ob’ekt va generator uslubi yordamida 100000 ta ob’ekt yaratiladi. Natijada programma bajarilishini ayrim etapida faQatgina yaratilmay, balki yo’Qotilib ham turiladi, shunda turli etaplarda “axlat yig’ish” amalga oshib turadi. Qachon va Qancha tez ushbu bajarilishi bir necha faktorlarga bog’liQ – bo’sh xotiraning boshlang’ich sig’imi, operatsion sistemaning tipi va boshQa. Lekin ma’lum vaQtdan so’ng ekranda destruktor tomonidan xabarlar paydo bo’ladi. Agar bunday xabarlar chiQmasa, yaratilayotgan ob’ektlarni for siklidagi count o’zgaruvchilar yo’li bilan oshirish kerak.

  1. Quyida DextructDemo.cs programmasi ketma-ketligi ko’rsatilgan:

G’*
proekt 4-2.
Bu programmada destruktor ishi ko’rsatiladi.
G’*
using system;
class Destruct {
public int x;
public Destruct (int i) {
x-i
}
G’G’Xotiradan ob’ekt yo’Qotilganda chaQiriladi.
~Destruct () {
Console.WriteLine(“Destructing” Q x);
}
G’G’uslub srazu tozalanadigan ob’ektni yaratadi.
Public void generator(int i) (
Destruct 0qnew Destruct (i);
}
}
classDestructDemo{
public static void Main () {
int count;

Destruct ob – new Destruct (0);


G’* so’ngra for sikli yordamida ob’ektlarning ko’p miQdori yaratiladi. Bo’sh xotiraning barchasi ishlatilgandan so’ng «axlat yig’ish” operatsiyasi amalga oshiriladi. Buning uchun kearkli ob’ektlar soni kompyuter xotirasi sig’imiga bog’liQ, shuning uchun siklini shartli ravishda ko’rsatayotgan son ko’paytiriladi (sikl o’tish miQdori)


*G’
for (count I; count – 100000’ count QQ)
ob.generator(count);
}



Download 0,57 Mb.

Do'stlaringiz bilan baham:
1   ...   62   63   64   65   66   67   68   69   ...   76




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish