Javoblar Dasturlash asoslari


Download 57.96 Kb.
bet9/30
Sana08.03.2023
Hajmi57.96 Kb.
#1250414
1   ...   5   6   7   8   9   10   11   12   ...   30
Bog'liq
Javoblar Dasturlash asoslari

Tabiiyki, bularning barchasi interfeyslarning barqarorligiga juda qattiq cheklovlar qo'yadi, lekin barqaror interfeyslarni shakllantirish vazifasi umuman dizayn vazifasidir.
34. IyerarxiyaIyerarxiya. Abstraksiya - foydali narsa, lekin har doim, eng oddiy vaziyatlardan tashqari, tizimdagi mavhumliklar soni bizning aqliy imkoniyatlarimizdan ancha oshib ketadi. Inkapsulyatsiya abstraksiyalarning ichki mazmunini ko'rish maydonidan olib tashlash orqali ma'lum darajada bu to'siqni olib tashlashga imkon beradi. Modullik, shuningdek, mantiqiy bog'liq abstraksiyalarni guruhlarga ajratish orqali vazifani soddalashtiradi. Lekin bu yetarli emas.Iyerarxiyalarning mavjudligi - bu tizim obyektlarining ba'zi qoidalariga muvofiq tartiblash.Abstraksiyalardan iyerarxik tuzilmaning shakllanishi tufayli murakkab muammolarni tushunishda sezilarli soddalashtirishga erishiladi. Iyerarxiyani quyidagicha ta'riflaylik:Iyerarxiya - bu mavhumliklarning tartiblanishi, ularning darajadagi joylashuvi.Murakkab tizimlarga nisbatan iyerarxik tuzilmalarning asosiy turlari sinf tuzilishi ("is-a" ierarxiyasi) va obyekt strukturasi (“part-of” iyerarxiyasi) hisoblanadi.
35. “is-a” iyerarxiyasiObyektga yo'naltirilgan tizimlarning muhim elementi va "is-a" ierarxiyasining asosiy turi-yuqorida aytib o'tilgan meros tushunchasi. Meros - bu sinflar o'rtasidagi munosabatni (ajdod / avlod munosabatlari), bir sinf bir yoki bir nechta boshqa sinflarning strukturaviy yoki funksional qismini oladi (mos ravishda bitta va ko'p meros). Boshqacha qilib aytganda, meros mavhumliklar iyerarxiyasini yaratadi, bunda kichik sinflar bir yoki bir nechta yuqori sinflardan tuzilmani meros qilib oladi. Ko'pincha kichik sinf ajdod komponentlarini yaratadi yoki qayta yozadi.Semantik jihatdan, meros "is-a" munosabatini tavsiflaydi. Masalan, ayiq - sutemizuvchi, uy- ko'chmas mulk, "Quick sort " - saralash algoritmi. Shunday qilib, meros umumlashtirish-ixtisoslashuv iyerarxiyasini vujudga keltiradi.Ko'p merosxo'rlik oddiy, lekin bu dasturlash tillarini amalga oshirishni murakkablashtiradi. Ikkita muammo bor - turli superklasslar orasidagi nom ziddiyatlari va qayta meros. Birinchi muammo, ikki yoki undan ortiq superklasslar bir xil nomdagi maydon yoki amalni aniqlaganda paydo bo'ladi. C++ da bunday ziddiyatni qo'lda hal qilish kerak, Smalltalkda esa birinchi bo'lib paydo bo'ladi. Ikkinchi muammo-bu merosni qayta tiklash. Qayta meros-bu sinf ikki sinfdan meros bo'lib, ular alohida to'rtinchi merosni meros qilib oladi.
36. “part-of” iyerarxiyasi“part of” iyerarxiyasi.Agar "is a" iyerarxiyasi umumlashtirish / ixtisoslashuv munosabatlarini aniqlasa, u holda "part of" munosabatlar yig'indisi iyerarxiyasini kiritadi. Masalan, odam-qo'l, sabzavot bog'i-o'sishi.
37. Tiplashtirish Tiplashtirish. Tiplashtirish – bu matnda u ishlash vaqtida ishlaydigan barcha obyektlar turlarining tavsifi;Tur tushunchasi mavhum ma'lumotlar turlari nazariyasidan olingan. Bizning maqsadlarimiz uchun atamalar turi va sinfi bir-birining o'rnini bosadi deb taxmin qilish kifoya. (Aslida, tur va sinf bir xil emas; ba'zi tillarda ular farqlanadi. Masalan, Trellis / Owl tilining dastlabki versiyalari ob'ektga ham sinf, ham turga ega bo'lishga ruxsat bergan. Hatto Smalltalkda ham SmallInteger, LargeNegativeInteger, LargePositiveInteger sinflari bir xil turdagi Integerga tegishli bo'lsa-da, har xil sinflarga tegishli).Tiplashtirish – bu boshqa sinf o'rniga bir sinf obyektlarini ishlatishdan himoya qilish usuli (kuchli tiplashtirish) yoki hech bo'lmaganda bunday foydalanishni nazorat qilish (zaif tiplashtirish).Tiplashtirish bizni mavhumliklarimizni shunday ifoda etishga majbur qiladi, uni amalga oshirishda ishlatiladigan dasturlash tili dizayn qarorlariga sodiq qoladi.

Download 57.96 Kb.

Do'stlaringiz bilan baham:
1   ...   5   6   7   8   9   10   11   12   ...   30




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