Informatika va programmalash


Obyekt qiymatlarini berish



Download 1,53 Mb.
bet62/74
Sana13.07.2022
Hajmi1,53 Mb.
#786339
1   ...   58   59   60   61   62   63   64   65   ...   74
Bog'liq
Informatika va programmalash

Obyekt qiymatlarini berish. Obyektlarni vorislik xususiyatidan kelib chiqqan holda, obyekt turidagi o‘zgaruvchilar uchun qiymat berishning quyidagi qoidasi aniqlangan. Obyekt o‘zgaruvchilarga faqat o‘z turidagi o‘zgaruvchi qiymatini berib qolmasdan, balki shu o‘zgaruvchi turidan hosil bo‘luvchi turdagi o‘zgaruvchilar qiymatlarini berish mumkin. Xuddi shu qoida protsedura va funksiyalar uchun ularning «obyekt» turidagi parametrlar qiymatini berishda amal qiladi.
Misol uchun
Var
ObjPosVar : ObjPos;
ObjSymVar : ObjSym;
...
ObjPosVar : ObjSymVar;
ObjSymVar qiymatlarini ObjPosVar ga o‘tkazish uchun yuqoridagi qiymat berish yetarli. Bunda ObjPos ning ga vorislik bilan o‘tgan maydonlari mos qiymat bilan to‘ldiriladi. Umuman aytganda, obyektlar uchun qiymat berish
Ajdod ß Voris
sxema bilan amalga oshadi. Bu holda chap tomondagi o‘zgaruvchining barcha maydonlarining qiymat olishi kafolatlanadi, aks holda vorisdagi «ortiqcha» maydonlar qiymati aniqlanmay qolishi mumkin.
Obyekt turidagi o‘zgaruvchilar dinamik bo‘lishi mumkin, ya’ni ular ko‘rsatgich ko‘rinishi sifatida aniqlangan bo‘lishi mumkin.
Var
ObjPosVarPtr: ^ ObjPos;
ObjSymVarPtr : ^ ObjSym;
Bu yerda ham dinamik obyektlar bilan ishlash protseduralari va qiymat berishning yuqoridagi qoida amal qiladi.


§3.22. OYP da vorislik va polimorfizm




OYPda polimorfizm. Obyektlarga mos turdagi qiymatlarni berishdagi turlar moslashuvi protsedura va funksiyalarga parametrlarni berishda ham saqlanib qoladi. Obyekt turidagi formal parametrga o‘z turidagi yoki shu turdan hosil bo‘lgan turdagi faktik parametrlarni berish mumkin. Obyektlarning bunday muvofiqlashuv xususiyatiga polimorfizm deyiladi. Misol tariqasida ekranga belgi yoki satrni chop qiluvchi obyektlarni ko‘ramiz.
...
{bu yerda ObjPOs,ObjSym va ObjStr obyektlar e’loni bo‘ladi}
Procedure PrintObj(Var Obj:ObjPos); {polimorf obyektni e’lon qilish}
Begin
Obj.Print
End;
Var
ObjSymVar : ObjSym;
ObjStrVar : ObjStr;
Begin
ObjSymVar.Init(10,10,’*’);
ObjStrVar.Init(20,20,’Polimorflik xossasini namoyon qilish’);
PrintObj(ObjStrVar);
PrintObj(ObjSymVar);
...
End.

Biz oldindan barcha obyektlarda PRINT metodini aniqlagan edik. Polimorf obyektni aniqlaydigan protsedurada faqat bitta yozuvi bor. Lekin tashqi ko‘rinishi bo‘yicha to‘g‘ri bo‘lsa ham, bu misol to‘g‘ri ishlamaydi. Faktik parametr turi qanday bo‘lishiga qaramasdan faqat OBJPOS obyektidagi PRINT ishlaydi, chunki obyektlarda statik metodlar ishlatilgan.



Download 1,53 Mb.

Do'stlaringiz bilan baham:
1   ...   58   59   60   61   62   63   64   65   ...   74




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©www.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