Ислом Каримов



Download 1,27 Mb.
Pdf ko'rish
bet37/46
Sana25.06.2022
Hajmi1,27 Mb.
#701850
1   ...   33   34   35   36   37   38   39   40   ...   46
Bog'liq
С да дастурлаш 2

12.6. Полиморфизм 
Агар инкапсуляциялаш ва ворисликни ОМЁ нинг фойдали воситалари 
сифатида олиб қараш мумкин бўлса, полиморфизм - энг универсал ва радикал 
воситадир. Полиморфизм инкапсуляциялаш ва ворислик билан чамбарчас 
боғлиқ, боз устига, полиморфизмсиз ОМЁ самарали бўлолмайди. Полиморфизм 
- ОМЁ парадигмасида марказий тушунчадир. Полиморфизмни эгалламай туриб, 
ОМЁ дан самарали фойдаланиш мумкин эмас. 
Полиморфизм шундай ҳолатки, бунда қандайдир битта нарса кўп 
шаклларга эга бўлади. Дастурлаш тилида «кўп шакллар» дейилганда, битта ном 
автоматик механизм томонидан танлаб олинган турли кодларнинг номидан иш 
кўриши тушунилади. Шундай қилиб, полиморфизм ёрдамида битта ном турли 
ҳулқ-атворни билдириши мумкин. 


12. Объектга йўналтирилган дастурлаш ва унинг тамойиллари 
~ 63 ~ 
Ворислик полиморфизмнинг айрим турларидан фойдаланиш учун 
зарурдир. 
Айнан 
ўриндошлик 
имконияти 
мавжуд 
бўлгани 
учун, 
полиморфизмдан фойдаланиш мумкин бўлади. Полиморфизм ёрдамида тизимга 
тўғри келган пайтда қўшимча функцияларни қўшиш мумкин. Дастурни ёзиш 
пайтида ҳатто таҳмин қилинмаган функционаллик билан янги синфларни 
қўшиш мумкин, бунинг устига буларнинг ҳаммасини дастлабки дастурни 
ўзгартирмай туриб ҳам амалга ошириш мумкин. Янги талабларга осонгина 
мослаша оладиган дастурий восита деганда, мана шулар тушунилади. 
Полиморфизмнинг учта асосий тури мавжуд: 
- Қўшилиш полиморфизми 
- Параметрик полиморфизм 
- Ортиқча юкланиш. 
Қўшилиш полиморфизмини баъзида соф полиморфизм деб ҳам 
атайдилар. Қўшилиш полиморфизми шунинг билан қизиқарлики, унинг 
туфайли тармоқ синф нушалари ўзини турлича тутиши мумкин. Қўшилиш 
полиморфизмидан фойдаланиб, янги тармоқ синфларни киритган ҳолда, 
тизимнинг ҳулқ-атворини ўзгартириш мумкин. Унинг бош афзаллиги шундаки, 
дастлабки дастурни ўзгартирмай туриб, янги ҳулқ-атворни яратиш мумкин. 
Айнан полиморфизм туфайли жорий қилишдан такроран фойдаланишни 
ворислик билан айнанлаштириш керак эмас. Бунинг ўрнига ворисликдан 
аввалам бор ўзаро алмашиниш муносабатлари ёрдамида полиморфизм ҳулқ-
атворга эришиш учун фойдаланиш лозим. Агар ўзаро алмашиниш 
муносабатлари тўғри белгиланса, бунинг ортидан албатта такроран қўллаш 
чиқиб келади. Қўшилиш полиморфизмидан фойдаланиб, базавий синфдан, ҳар 
қандай авлоддан, шунингдек базавий синф қўллайдиган методлардан такроран 
фойдаланиш мумкин. 
Параметрик полиморфизмдан фойдаланиб, турдош методлар ва турдош 
(универсал) турлар яратиш мумкин. Турдош методлар ва турлар далилларнинг 
кўплаб турлари билан ишлай оладиган дастурни ёзиш имконини беради. Агар 
қўшилиш полиморфизмидан фойдаланиш объектни идрок этишга таъсир 
кўрсатса, параметрик полиморфизмдан фойдаланиш қўлланаётган методларга 
таъсир кўрсатади. Параметрик полиморфизм ёрдамида, параметр турини 
бажарилиш вақтигача эълон қилмай туриб, турдош методлар яратиш мумкин. 
Методларнинг параметрик параметрлари бўлганидек, турларнинг ўзи ҳам 
параметрик бўлиши мумкин. Бироқ полиморфизмнинг бундай тури барча 
тилларда ҳам учрайвермайди (C++да мавжуд). 
Ортиқча юкланиш ёрдамида битта ном турлича методларни билдириши 
мумкин. Бунда методлар фақат миқдорлари ва параметр турлари билан 
фарқланади. Метод ўз далиллари (аргументлари) га боғлиқ бўлмаганда, ортиқча 
юкланиш фойдалидир. Метод ўзига хос параметрлар турлари билан 
чекланмайди, балки ҳар хил турдаги параметрларга нисбатан ҳам қўлланади. 
Масалан max методини кўриб чиқайлик. Максимал - турдош тушунча бўлиб, у 


12.6. Полиморфизм 
~ 64 ~ 
иккита муайян параметрларни қабул қилиб, уларнинг қайси бири каттароқ 
эканини маълум қилади. Таъриф бутун сонлар ёки сузувчи нуқтали сонлар 
қиёсланишига қараб ўзгармайди. 
Полиморфизмдан самарали фойдаланиш сари қўйилган биринчи қадам бу 
инкапсуляциялаш 
ва 
ворисликдан 
самарали 
фойдаланишдир. 
Инкапсуляциялашсиз дастур осонгина синфларнинг жорий қилинишига боғлиқ 
бўлиб қолиши мумкин. Агар дастур синфларнинг жорий қилиниш 
аспектрларидан бирига боғлиқ бўлиб қолса, тармоқ синфда бу жорийни 
тўғрилаш мумкин бўлмайди. 
Ворислик - қўшилиш полиморфизмининг муҳим таркибий қисми. Ҳамма 
вақт базавий синфга имкон даражада яқинлаштирилган даражада дастурлашга 
ўринган ҳолда, ўринбосарлик муносабатларини ўрнатишга ҳаракат қилиш 
керак. Бундай усул дастурда ишлов берилаётган объектлар турлари миқдорини 
оширади. 
Пухта 
ўйлаб 
ишлаб 
чиқилган 
табақаланиш 
ўринбосарлик 
муносабатларини ўрнатишга ёрдам беради. Умумий қисмларни абстракт 
синфларга олиб чиқиш керак ҳамда объектларни шундай дастурлаш керакки, 
бунда объектларнинг ихтисослаштирилган нушалари эмас, балки уларнинг 
ўзлари дастурлаштирилсин. Бу кейинчалик ҳар қандай ворис синфни дастурда 
қўллаш имконини беради. 
Агар тил воситалари билан интерфейс ва жорий қилинишни тўлиқ 
ажратиш мумкин бўлса, у ҳолда одатда мана шу воситалардан фойдаланиш 
керак, ворисликдан эмас. Интерфейс ва жорий қилинишни аниқ ажратиб, 
ўринбосарлик имкониятларини ошириш ва шунинг билан полиморфизмдан 
фойдаланишнинг янги имкониятларини очиб бериш мумкин. 
Бироқ кўп ўринларда тажрибасиз лойиҳачилар полиморфизмни 
кучайтириш мақсадида хулқ-атворни жуда баланд табақавий даражага олиб 
чиқишга уринадилар. Бу ҳолда ҳар қандай авлод ҳам бу ҳулқ-атворни ушлаб 
тура олади. Шуни эсдан чиқармаслик керакки, авлодлар ўз аждодларининг 
функцияларини чиқариб ташлай олмайдилар. Дастурни янада полиморф қилиш 
мақсадида пухта режалаштирилган ворислик табақаларини бузиш ярамайди. 
Ҳамма нарсанинг ҳисоб-китоби бор. Ҳақиқий полиморфизмнинг 
камчилиги шундаки, у унумдорликни пасайтиради. Полиморфизмдан 
фойдаланганда дастурни бажариш пайтида текширувлар ўтказиш талаб 
қилинади. Бу текширувлар турлари статик равишда берилган қийматларга 
ишлов беришга қараганда кўпроқ вақтни талаб қилади. 

Download 1,27 Mb.

Do'stlaringiz bilan baham:
1   ...   33   34   35   36   37   38   39   40   ...   46




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