Obyektga yo‘naltirilgan dаsturlаsh (oyd)


Download 60.5 Kb.
bet2/4
Sana18.06.2023
Hajmi60.5 Kb.
#1594535
1   2   3   4
Bog'liq
1352529347 34707

Vorislikni aniqlanishi.
Bu misoldan ko`rinib turibdiki, Init protsedurasi Line, Col va ObjPos.Init komponentalarini vorislik bo`yicha ishlatmoqda.
Obyektlarni aniqlashni xuddi shu yo`sinda davom ettirib belgini, uning ranglar atributi bilan birga aniqlovchi obyekni aniqlashimiz mumkin. Bunda yangi obyekt ObjSym vorisi bo`lib, unga kerakli maydonlar va atiribut bilan ishlovchi metodni ko`shish kerak bo`ladi. Hosil bo`lgan obyekt ObjPosga nisbatan uchinchi bosqich vorisi bo`ladi.
ObjPosga nisbatan vorislik bosqichi ObjSym bilan bir bosqichda bo`lgan obyektlarni ham yaratish mumkin. Misol uchun ekranga satr chiqaradigan obyekt yaratmoqchi bo`lsak, u ObjPos vorisi bo`ladi.
Vorislikda hosil bo`luvchi yangi turlarda ajdod obyektlardagi identifikatorlarni qaytadan e`lon qilish mumkin emas. Lekin bu cheklanish metodlarga taalluqli emas, ya`ni har bir voris obyekt yuqoridagi aniqlangan metodlarni, yangidan e`lon qilishi mumkin (o`ziga xoslikdan kelib chiqqan holda). Bunga misol sifatida Print metodini ko`rsatishimiz mumkin. Bu hollarda har bir obyekt uchun o`z metodi (Print) ishlaydi. Vorislikda ham obyektlar iyerarxiyasidagi oxirgi aniqlangan metod ishlaydi.
Oby`ekt 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.
ObjPosVarPtr: ^ ObjPos;
ObjSymVarPtr : ^ ObjSym;
Bu yerda ham dinamik obyektlar bilan ishlash protseduralari va qiymat berishning yuqoridagi qoida amal qiladi.

OYP da vorislik va polimorfizm





Download 60.5 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




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