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


 Инкапсуляциялаш нима учун керак?



Download 1,27 Mb.
Pdf ko'rish
bet32/46
Sana25.06.2022
Hajmi1,27 Mb.
#701850
1   ...   28   29   30   31   32   33   34   35   ...   46
Bog'liq
С да дастурлаш 2

12.3. Инкапсуляциялаш нима учун керак? 
Инкапсуляциялашдан тўғри фойдаланиш туфайли объектлар билан 
ўзгартириладиган компонентлар (таркибий қисмлар) дек муомала қилиш 
мумкин. Бошқа объект сизнинг объектингиздан фойдалана олиши учун, у 
сизнинг объектингизнинг оммавий интерфейсидан қандай фойдаланиш 
кераклигини билиши кифоя. Бундай мустақиллик учта муҳим афзалликка эга. 
Мустақиллик туфайли, объектдан такроран фойдаланиш мумкин. 
Инкапсуляциялаш пухта амалга оширилган бўлса, объектлар маълум бир 
дастурга боғланиб қолган бўлмайди. Улардан имкони бўлган хамма ерда 
фойдаланиш мумкин бўлади. Объектдан бошқа бирон ўринда фойдаланиш 
учун, унинг интерфейсидан фойдаланиб қўя қолиш кифоя. 
Инкапсуляциялаш туфайли, объектда бошқа объектлар учун кўринмас 
бўлган ўзгаришларни амалга ошириш мумкин. Агар интерфейс ўзгартирилмаса, 
барча ўзгаришлар объектдан фойдаланаётганлар учун кўринмас бўлади. 
Инкапсуляциялаш компонентни яхшилаш, амалга ошириш самарадорлигини 
таъминлаш, ҳатоларни бартараф этиш имконини беради, яна буларнинг 
ҳаммаси дастурнинг бошқа объектларига таъсир кўрсатмайди. Объектдан 
фойдаланувчилар уларда амалга оширилаётган барча ўзгаришлардан автоматик 
тарзда ютадилар. 
Ҳимояланган объектдан фойдаланишда объект ва дастурнинг бошқа 
қисми ўртасида бирон-бир кўзда тутилмаган ўзаро алоқалар бўлиши мумкин 
эмас. Агар объект бошқалардан ажратилган бўлса, бу ҳолда у дастурнинг бошқа 
қисми билан фақат ўз интерфейси орқали алоқага киришиши мумкин. Шундай 
қилиб, инкапсуляциялаш ёрдамида модулли дастурларни яратиш мумкин. 
Самарали инкапсуляциялашнинг учта ўзига хос белгиси қўйидагича: 
-абстракция; 
-жорий қилишнинг беркитилганлиги; 
-масъулиятнинг бўлинганлиги. 
12.4. Абстракция 
Гарчи объектга мўлжалланганликлар инкапсуляциялашдан фойдаланишга 
ёрдам берса-да, бироқ улар инкапсуляциялашни кафолатламайди. Тобе ва 
ишончсиз кодни яратиб қўйиш осон. Самарали инкапсуляциялаш – синчковлик 
билан ишлаб чиқиш хамда абстракция ва тажрибадан фойдаланиш 
натижасидир. Инкапсуляциялашдан самарали фойдаланиш учун дастурни 
ишлаб чиқишда аввал абстракциядан ва унинг билан боғлиқ концепциялардан 
фойдаланишни ўрганиб олиш лозим. 


12.4. Абстракция 
~ 54 ~ 
Абстракция мураккаб масалани соддалаштириш жараёнидир. Муайян 
масалани ечишга киришар экансиз, сиз барча деталларни ҳисобга олишга 
ўринмайсиз, балки ечимни осонлаштирадиганларини танлаб оласиз. 
Айтайлик, сиз йўл ҳаракати моделини тузишингиз керак. Шуниси аёнки, 
бу ўринда сиз светофорлар, машиналар, шосселар, бир томонлама ва икки 
томонлама кўчалар, об-ҳаво шароитлари ва ҳ.к. синфларини яратасиз. Ушбу 
элементларнинг ҳар бири транспорт ҳаракатига таъсир кўрсатади. Бироқ бу 
ўринда ҳашаротлар ва қушлар хам йўлда пайдо бўлиши мумкин бўлса-да, сиз 
уларнинг моделини яратмайсиз. Инчунин, сиз машиналар маркаларини ҳам 
ажратиб кўрсатмайсиз. Сиз ҳақиқий оламни соддалаштирасиз ҳамда унинг 
фақат асосий элементларидан фойдаланасиз. Машина - моделнинг муҳим 
детали, бироқ бу Кадиллакми ёки бошқа бирон маркадаги машинами, йўл 
ҳаракати модели учун бу деталлар ортиқча. 
Абстракциянинг иккита афзал жиҳати бор. Биринчидан, у масала 
ечимини соддалаштиради. Муҳими яна шундаки, абстракция туфайли дастурий 
таъминот компонентларидан такроран фойдаланиш мумкин. Такроран 
қўлланадиган компонентларни яратишда улар одатда ғоят ихтисослашади. 
Яъни компонентлар бирон-бир маълум масала ечимига мўлжаллангани, яна 
улар кераксиз ўзаро боғлиқликда бўлгани сабабли дастур фрагментининг бошқа 
бирон ўринда такроран қўлланиши қийинлашади. Имкони борича бир қатор 
масалаларни ечишга қаратилган объектларни яратишга ҳаракат қилинг. 
Абстракция битта масала ечимидан ушбу соҳадаги бошқа масалаларни ҳам 
ечишда фойдаланиш имконини беради.
Иккита мисолни кўриб чиқамиз. 
Биринчи мисол: банк кассирига навбатда турган одамларни тасаввур 
қилинг. Кассир бўшаганда, унинг дарчасига навбатда турган биринчи мижоз 
яқинлашади. Шундай қилиб, навбатдаги ҳамма одам бирин-кетин кассир 
дарчаси томон сурилади. Навбатда турганлар «биринчи келганга биринчи 
бўлиб хизмат кўрсатилди» алгоритми бўйича сурилиб боради. 
Иккинчи мисол: газакхонада гамбургерли конвейерни кўриб чиқайлик. 
Навбатдаги янги гамбургер конвейерга келиб тушганда, у гамбургерлар 
қаторидаги охирги гамбургер ёнидан жой олади. Шунинг учун конвейердан 
олинган гамбургер у ерда бошқаларидан кўпроқ вақт туриб қолган бўлади. 
Ресторанлар «биринчи келганга биринчи бўлиб ҳизмат кўрсатилди» алгоритми 
бўйича ишлайди. 
Гарчи бу мисоллар буткул турлича бўлса-да, уларда қандайдир умумий 
тамойил қўлланган бўлиб, ундан бошқа вазиятларда ҳам фойдаланиш мумкин. 
Бошқача қилиб айтганда, сиз абстракцияга келасиз.
Бу мисолларнинг ҳар иккаласида ҳам «биринчи келганга биринчи бўлиб 
ҳизмат кўрсатилди» алгоритми қўлланган. Бу ўринда навбат элементи нимани 
билдириши муҳим эмас. Ҳақиқатда ушбу элемент навбат охирига келиб 
қўшилиши ҳамда навбатни унинг бошига етганда тарк этишигина муҳимдир. 
Абстракция ёрдамида бир марта навбатни яратиб, кейинчалик уни бошқа 



Download 1,27 Mb.

Do'stlaringiz bilan baham:
1   ...   28   29   30   31   32   33   34   35   ...   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