Haydarov Hayotjonning Web dasturlash fanidan tayyorlagan Amaliy ishi



Download 0,96 Mb.
bet18/33
Sana18.03.2023
Hajmi0,96 Mb.
#920152
1   ...   14   15   16   17   18   19   20   21   ...   33
Bog'liq
Haydarov Hayotjonning Web dasturlash fanidan tayyorlagan Amaliy

Malumot bo'yicha ishlash


Havola - bu turli xil nomlar bilan ob'ektga kirish vositasi. Har qanday ob'ektlar bilan ishlash faqat ma'lumotnoma orqali amalga oshiriladi.
Buni misol bilan namoyish qilaylik:
test \u003d function () (ogohlantirish ("Salom!")) // Funktsiya yarating (ogohlantirish ("Salom!")) (Va funktsiya, esimizda bo'lganidek, to'liq ob'ekt) va test o'zgaruvchisini unga havola qiling.
test_link \u003d test; // test_link endi bizning funktsiyamizga ham tegishli
test (); // Salom!
test_link (); // Salom!

Ko'rib turganimizdek, birinchi havola ham, ikkinchisi ham bir xil natijani beradi.
Bizda test deb nomlangan funktsiya yo'qligini va sinov o'zgaruvchisi qandaydir "asosiy" yoki "asosiy" havola emasligini va "test_link" ning kichik ekanligini anglab etishimiz kerak.
Bizning vazifamiz, boshqa har qanday ob'ekt singari, faqat xotiradagi maydon bo'lib, ushbu sohaga oid barcha havolalar mutlaqo tengdir. Bundan tashqari, ob'ekt hech qanday ma'lumotnomaga ega bo'lmasligi mumkin - bu holda u anonim deb nomlanadi va faqat yaratilgandan so'ng darhol foydalanish mumkin (masalan, funktsiyaga o'tgan), aks holda unga kirish imkonsiz bo'ladi va tez orada u axlat yig'uvchi tomonidan yo'q qilinadi. (axlat yig'ish), bu moslamalarni mos yozuvlarsiz o'chirib tashlaydi.
Keling, buni tushunish nima uchun juda muhimligini ko'rib chiqaylik:
test \u003d (prop: "qachondir") // Prop xususiyati bilan ob'ekt yarating
test_link \u003d test; // Ushbu ob'ektga yana bir havola yarating
Ogohlantirish (test.prop); // qachondir
// Ob'ektning xususiyatini o'zgartirish
test_link.prop \u003d "yangi matn";
Ogohlantirish (test.prop); // yangi matn
ogohlantirish (test_link.prop); // yangi matn
/ * Aytish mumkinki, mulk bu erda va u erda o'zgargan - ammo unday emas.
Ob'ekt bitta. Shunday qilib, mulk bir marta o'zgardi va havolalar faqat qaerga ishora qilsa bo'ladi. * /
// Yangi xususiyat qo'shing va eskisini olib tashlang
test.new_prop \u003d "salom";
test.prop-ni o'chirish;
Ogohlantirish (test_link.prop); // undefined - bu xususiyat endi mavjud emas
ogohlantirish (test_link.new_prop);
// Havolani olib tashlang
testni o'chirish;
ogohlantirish (test.new_prop);
/ * Bu vaqtda skript xatoga yo'l qo'yadi, chunki test endi mavjud emas va test.new_prop umuman mavjud emas * /
ogohlantirish (test_link.new_prop); // Salom
/ * lekin bu erda hamma narsa tartibda, chunki biz ob'ektning o'zi emas, balki unga havolani o'chirib tashladik. Endi bizning ob'ektimiz bitta test_link * / havolasi orqali ko'rsatiladi
// Yangi ob'ekt yarating
test \u003d test_link; // Birinchidan, yana sinov havolasini yarating
test_link \u003d (prop: "biron vaqt") // Va bu yangi ob'ekt
Ogohlantirish (test_link.prop); // qachondir
ogohlantirish (test.prop); // aniqlanmagan
/ * Yangi ob'ektni yaratish havolani uzadi va endi test va test_link turli ob'ektlarga yo'naltiradi.
Aslida, bu test_linkini o'chirish va uni qayta yaratish bilan bir xil, ammo boshqa ob'ektga ishora qilish * /
ogohlantirish (test.new_prop); // salom - endi test bizning birinchi ob'ektimizga havolani o'z ichiga oladi

* Ushbu manba kodi ta'kidlash manbai bilan ta'kidlangan.



Ob'ektlarning bunday xatti-harakatlari ko'pincha yangi boshlanuvchilar uchun juda ko'p savollarni tug'diradi, shuning uchun bu matn aniqlik kiritadi deb umid qilaman. Agar biz bog'lanishni emas, balki ob'ektning haqiqatan ham yangi, mustaqil nusxasini yaratmoqchi bo'lsak, unda buning yagona usuli bu yangi ob'ekt yaratish va u erda kerakli xususiyatlarni nusxalashdir.
Shuni ham ta'kidlash joizki, moslamalar bilan ishlash, yuqorida aytib o'tilgan kulgili effektlardan tashqari, xotirani sezilarli darajada tejashga imkon beradi, bu bitta ob'ekt dasturning turli joylarida keng qo'llanilganda muhimdir.

Download 0,96 Mb.

Do'stlaringiz bilan baham:
1   ...   14   15   16   17   18   19   20   21   ...   33




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