11,1 Obyektga mo‘ljallangan yondashuv tarixi



Download 221,05 Kb.
bet12/70
Sana26.02.2022
Hajmi221,05 Kb.
#466131
1   ...   8   9   10   11   12   13   14   15   ...   70
Bog'liq
C

Vorislik turlari. Vorislik uch asosiy hollarda qo'llaniladi:

  1. ko‘p martalab foydalanishda;

  2. ajralib turish uchun;

  3. turlarni almashtirish uchun.

V
f
orislikning ay. im turlaridan foydalanish boshqalaridan ko‘ra afzalroq hisoblanadi. Vorislik yangi sinfgaeski sinfning amalda qo'llanilishidan ko'p martalab foydalanish imkonini beradi. Kodni qirqib tashlash yoki kiritish o'rniga. vorislik kodga avtomatik tarzda kirishni ta’minlaydi, ya’ni kodga kirishda, u yangi sinfning bir qismidek olib qaraladi. Ko‘p martalab qo‘llash uchun vorislikdan foydalanar ekansiz, siz meros qilib olingan realizatsiya (joriy qilinish) bilan bogiiq bo’lasiz. Vorislikning bu turini ehtiyotkorlik bilan qo‘llash lozim. Farqlash uchun vorislik faqat avlod-sinf va ajdod- sinf o‘rtasidagi farqlarni dasturlash imkonini beradi. Farqlarni dasturlash g'ovat qudratli vositadir. Kodlash hajmining kichikligi va kodning oson boshqarilishi loyiha ishlanmasini osonlashtiradi. Bu holda kod satrlarini kamroq yozishga to‘g'ri keladiki, bu qo'shiladigan xatolar miqdorini ham kamaytiradi.

Almashtirish imkoniyati - OMY da muhim tushunchalardan biri. Merosxo‘r sinfga uning ajdodi boimish sinfga yuboriladigan xabarlarni yuborish mumkin boigani uchun, ularning har ikkalasiga bir xil munosa- batda bo‘lishi mumkin. Aynan shuning uchun merosxo'r sinfni yaratishda xulq-atvorni chiqarib tashlash mumkin emas. Almashtirish imkoniyatini qoilab. dasturga har qanday tarmoq turlarni qo'shish mumkin. Agar dasturda ajdod qo‘llangan bo‘lsa, bu holda u yangi obyektlardan qanday fodalanishni biladi.
11.6 Polimorfizm
OYD tillari bir xil nomdagi funksiya turli obyekt tomonidan ishlatil- ganda turli amallarni bajarish imkoniyatini ta’minlaydi. Bu funksiya va sinfning polimorfligi deb nomlanadi. Poll - ko‘p, morfe - shakl degan ma’noni anglatadi. Polimorfizm - bu shaklning ko'p xilligidir. Bu tushunchalar bilan keyinchalik batafsil tanishamiz.
Agar inkapsulatsiyalash va vorislikni OMY ning foydali vositalari si­fatida olib qarash mumkin boisa, polimorfizm - eng universal va radikal vositadir. Polimorfizm inkapsulatsiyalash va vorislik bilan chambarchas bogiiq. boz ustiga, polimorfizmsiz OMY samarali boiolmaydi. Poli­morfizm - OMY paradigmasida markaziy tushunchadir. Polimorfizmni egallamay turib, OMY dan samarali foydalanish mumkin emas.
Polimorfizm shunday holatki. bunda qandaydir bitta narsa ko:p shakl- larga ega boiadi. Dasturlash tilida «ko‘p shakllar» dey ilganda. bitta nom avtomatik mexanizm tomonidan tanlab olingan turli kodlarning nomidan ish ko‘rishi tushuniladi. Shunday qilib. polimorfizm yordamida bitta nom turli xulq-atvorni bildirishi mumkin.
Vorislik polimorfizmning ayrim turlaridan foydalanish uchun zarurdir. Aynan oiindoshlik imkoniyati mavjud boigani uchun, polimorfizmdan foydalanish mumkin boiadi. Polimorfizm yordamida tizimga to'g'ri kelgan paytda qo‘shimcha funksiyalarni qo‘shish mumkin. Dasturni yozish paytida hatto taxmin qilinmagan funksionallik bilan yangi sinflarni qo‘shish mum­kin. buning ustiga bularning hammasini dastlabki dasturni o'zgartirmay turib ham amalga oshirish mumkin. Yangi talablarga osongina moslasha oladigan dasturiy vosita deganda, shularni keltirish mumkin.
Polimorfizmning uchta asosiy turi mavjud:

  • qo'shilish polimorfizmi;

  • parametrik polimorfizm;

  • qo'shimcha yuklanish.

Qo‘shilish polimorfizmini ba’zida sof polimorfizm deb ham ataydilar. Qo‘shilish polimorfizmi shunisi bilan qiziqarliki, u tufayli tarmoq sinf nusxalari o‘zini turlicha tutishi mumkin. Qo‘shilish polimorfizmidan foydalanib, yangi tarmoq sinflarni kiritgan holda, tizimning xulq-atvorini o'zgartirish mumkin. Uning bosh afzalligi shundaki, dastlabki dasturni o'zgartirmay turib, yangi xulq-atvorni yaratish mumkin.
Aynan polimorfizm tufayli joriy qilishdan takroran ifodalanishni vo­rislik bilan aynanlashtirish kerak emas. Buning o'rniga vorislikdan avvalambor o‘zaro almashinish munosabatlari yordamida polimorf xulq-atvorga erishish uchun foydalanish lozim. Agar o‘zaro almashinish munosabatlari to‘g‘ri belgilansa, buning ortidan albatta takroran qo‘llash chiqib keladi. Qo‘shilish polimorfizmidan foydalanib, bazaviy sinfdan, har qanday avloddan, shuningdek, bazaviy sinf qo'llaydigan usullardan tak­roran foydalanish mumkin.
Parametrik polimorfizmdan foydalanib, turdosh usullar va turdosh (universal) turlar yaratish mumkin. Turdosh usullar va turlar dalillar- ning ko'plab turlari bilan ishlay oladigan dasturni yozish imkonini beradi. Agar qo'shilish polimorfizmidan foydalanish obyektni idrok etishga ta’sir ko‘rsatsa. parametrik polimorfizmdan foydalanish qoilanilayotgan usul- larga ta'sir ko‘rsatadi. Parametrik polimorfizm yordamida, parametr turini bajarilish vaqtigacha e’lon qilmay turib, turdosh usullar yaratish mum­kin. Usullarning parametrik parametrlari bo'lganidek, turlarning o‘zi ham parametrik boiishi mumkin. Biroq polimorfizmning bunday turi barcha til- larda ham uchravvermaydi (C^+da mavjud).
Qo‘shimcha yuklanish yordamida bitta nom turlicha usullarni bildi- rishi mumkin. Bunda usullar faqat miqdorlari va parametr turlari bilan farqlanadi. Usul o‘z dalillari (argumentlari)ga bogiiq bolmaganda, ortiqcha yuklanish foydalidir. Usul o'ziga xos parametrlar turlari bilan cheklanmay- di, balki har xil turdagi parametrlarga nisbatan ham qo‘llanadi. Masalan, max usulini ko‘rib chiqaylik. Maksimal - turdosh tushuncha bo‘lib, u ik­kita muavyan parametrlarni qabul qilib, ularning qaysi biri kattaroq ekanini ma'lum qiladi. Ta'rif butun sonlar yoki suzuvchi nuqtali sonlar qiyoslani- shiga qarab o'zgarmaydi.
Polimorfizmdan samarali foydalanish sari qo‘yilgan birinchi qadam bu inkapsulatsiyalash va vorislikdan samarali foydalanishdir. Inkapsulatsi- yalashsiz dastur osongina sinflarning joriy qilinishiga bogliq bo'lib qolishi mumkin. Agar dastur sinflarning joriy qilinish aspektrlaridan biriga bog'liq boiib qolsa, tarmoq sinfda bu joriyni to'g'rilash mumkin boimaydi.
Vorislik - qo'shilish polimorfizmining muhim tarkibiy qismi. Hamma vaqt bazaviy sinfga imkon darajada yaqinlashtirilgan darajada dasturlash- ga uringan holda, o'rinbosarlik munosabatlarini o'rnatishga harakat qilish kerak. Bunday usul dasturda ishlov berilayotgan obyektlar turlari miqdorini oshiradi.
Puxta o‘ylab ishlab chiqilgan tabaqalanish o'rinbosarlik munosabat­larini o'rnatishga yordam beradi. Umumiy qismlarni abstrakt sinflarga olib chiqish kerak hamda obyektlarni shunday dasturlash kerakki, bunda obyektlarning ixtisoslashtirilgan nusxalari emas, balki ularning o'zlari das- turlashtirilsin. Bu keyinchalik har qanday voris sinfni dasturda qoilash imkonini beradi.
Agar til vositalari bilan interfeys va joriy qilinishni toiiq ajratish mum­kin boisa. u holda, odatda, mana shu vositalardan fo\dalanish kerak, voris- likdan emas. Interfes va joriy qilinishni aniq ajratib, o'rinbosarlik imkoni- yatlarini oshirish va shuning bilan polimorfizmdan foydalanishning yangi imkoniyatlarini ochib berish mumkin.
Biroq ko'p o'rinlarda tajribasiz loyihachilar polimorfizmni kuchayti- rish maqsadida xulq-atvorni juda baland tabaqaviy darajaga olib chiqishga urinadilar. Bu holda har qanday avlod ham bu xulq-atvorni ushlab tura oladi. Shuni esdan chiqarmaslik kerakki. avlodlar o'z ajdodlarining funk­siyalarini chiqarib tashlay olmaydilar. Dasturni yanada polimorf qilish maqsadida puxta rejalashtirilgan vorislik tabaqalarini buzish yaramaydi.
Akseleratorning bosilishida Star modeliga nisbatan yangi yaratilgan Quasar modelida boshqacharoq amallar bajarilishi mumkin. Quasar modelida dvigatelga yoqilgini sepuvchi injektor sistemasi va Star modeli- dagi korbvurator o‘rniga turbokompressor o'rnatilgan bo'lishi mumkin. Lekin foydalanuvchi bu farqlarni bilishi shart emas. U rulga o'tirgach oddiygina akselatorni bosadi va avtomobilning mos reaksiyasini kutadi.

Download 221,05 Kb.

Do'stlaringiz bilan baham:
1   ...   8   9   10   11   12   13   14   15   ...   70




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