Obyektga yo‘naltirilgan dаsturlаsh (oyd)
Download 60.5 Kb.
|
1352529347 34707
- Bu sahifa navigatsiya:
- Oby`ekt qiymatlarini berish .
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: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling