Axborot texnologiyalari texnikumi



Download 7,87 Mb.
bet55/78
Sana26.08.2022
Hajmi7,87 Mb.
#847735
1   ...   51   52   53   54   55   56   57   58   ...   78
Bog'liq
Algortmlash va dasturlash asoslari UMT восстановлен

Polimorfizm: Polimorfizm so'zi ikki poli va morf so'zlaridan iborat bo'lib, bu erda poli ko'p va morflar shakllarni anglatadi. Dasturlashda polimorfizm umumiy harakatlar sinfi uchun bitta interfeysdan foydalanish imkonini beruvchi xususiyatdir. Yuqoridagi qush va kaptar tushunchasida kaptar tabiatan qushdir. Va shuningdek, agar qushlar uchuvchi qushlar, uchmaydigan qushlar va boshqalar kabi bir nechta toifalarga bo'lingan bo'lsa, kaptar ham uchuvchi qushlar toifasiga mos keladi. Bundan tashqari, agar hayvonlar sinfi o'simlik va go'sht bilan oziqlanadigan hayvonlarga bo'lingan bo'lsa, kaptar yana o'simlik bilan oziqlanadigan hayvonlar toifasiga kiradi. Shuning uchun polimorfizm g'oyasi bir xil ob'ektning bir nechta shakllarni olish qobiliyatidir. Polimorfizmning ikki turi mavjud:



  1. Kompilyatsiya vaqti polimorfizmi: U statik polimorfizm sifatida ham

tanilgan. Ushbu turdagi polimorfizmga funksiyani haddan tashqari yuklash yoki operatorni ortiqcha yuklash orqali erishiladi. Bu biz turli xil imzolar bilan bir nechta usullarni aniqlaganimizda sodir bo'ladi va kompilyator usul imzolari asosida qaysi usul bajarilishi kerakligini biladi.

  1. Ish vaqti polimorfizmi: U Dinamik Metod Dispatch sifatida ham tanilgan.

Bu bekor qilingan usulga funksiya chaqiruvi Runtime da hal qilinadigan jarayondir. Ushbu turdagi polimorfizmga Method Overriding orqali erishiladi. Xuddi shu parametrlarga ega bir xil usul turli kontekstlar bilan bekor qilinganda, kompilyator bu usul bekor qilinganligi haqida hech qanday fikrga ega emas. U shunchaki usul mavjudligini tekshiradi va ish vaqtida bekor qilingan funksiyalarni bajaradi.

Java-da biz ob'ektlarni yuqoriga va pastga tushirishimiz ham mumkin. Ushbu kontseptsiyaning asosiy g'oyasi ham polimorfizmdir. G'oya shundan iboratki, qushning ob'ekti kaptarning qiymatiga ega bo'lishi mumkin, chunki u qushning xususiyatlarini meros qilib oladi. Shunday qilib, agar ikkala ob'ekt bir-birini quyidagi tarzda kengaytirsa, ota-ona ob'ekti ham bolalar xususiyatlari bilan ishga tushirilishi mumkin:




Bird b = new Pigeon();


Abstraktsiya: Umuman olganda, mavhumlik yashirishni anglatadi. Qush va kaptarning yuqoridagi stsenariysida, deylik, kaptarning uchishini ko'rmoqchi bo'lgan foydalanuvchi bor. Foydalanuvchi shunchaki kaptarning uchayotganini ko'rishga qiziqadi, lekin qush qanday uchayotganiga qiziqmaydi. Shuning uchun, yuqoridagi stsenariyda foydalanuvchi uni parvoz qilishni xohlasa, u kaptar qush kaptarining ob'ekti bo'lgan pigeon.fly() yordamida shunchaki chivin usulini chaqiradi. Shu sababli, abstraksiya asosiy xususiyatlarni fon tafsilotlariga e'tibor bermasdan ifodalash san'atini anglatadi. Java-da abstraktsiya interfeys va abstrakt sinflardan foydalanish orqali amalga oshiriladi. Interfeys yordamida biz to'liq abstraktsiyaga erishishimiz mumkin, mavhum sinflardan foydalanish bilan qisman yoki to'liq abstraktsiyaga erishish mumkin. Abstraksiyaning muhim tushunchalardan biri sifatida qaralishining sababi:



  1. Bu narsalarni ko'rishning murakkabligini kamaytiradi.

  2. Kodning takrorlanishini oldini oladi va qayta foydalanish imkoniyatini oshiradi.

  3. Ilova yoki dastur xavfsizligini oshirishga yordam beradi, chunki foydalanuvchiga faqat muhim tafsilotlar taqdim etiladi.

Xuddi shu uchta muhim kontseptsiya mavjud, merosxo'rlik, bu OOP kodini modulliroq qiladi, qayta foydalanishni osonlashtiradi va sinflar o'rtasidagi munosabatlarni o'rnatadi. Inkapsulyatsiya sinfning ba'zi shaxsiy tafsilotlarini boshqa ob'ektlardan yashirishi mumkin, polimorfizm esa umumiy operatsiyani turli usullarda ishlatishga imkon beradi.



Download 7,87 Mb.

Do'stlaringiz bilan baham:
1   ...   51   52   53   54   55   56   57   58   ...   78




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