12.4. Абстракция
~ 56 ~
Маълумотларнинг абстракт турлари ички ахборот ва ҳолатни
пухта
ишлаб чиқилган интерфейс ортида яширар экан, улар тилда маълумотларнинг
янги
турларини
аниқлашга
имкон
беради.
Бундай
интерфейсда
маълумотларнинг абстракт турлари бўлинмас бутунлик сифатида тақдим
этилган. Маълумотларнинг абстракт турлари инкапсуляциялашни кўллашни
осонлаштиради, чунки улар туфайли инкапсуляциялашни ворисликсиз ва
полиморфизмсиз қўллаш мумкин, бу эса инкапсуляциялашнинг айнан ўзига
диққатни қаратиш имконини беради. Маълумотларнинг
абстракт турлари
шунингдек тур тушунчасининг қўлланишини ҳам осонлаштиради. Агар тур
нима эканини англаб олсак, бу ҳолда объектга мулжалланган ёндошув
ихтисослаштирилган
фойдаланувчилик
турлари
ёрдамида
тилни
кенгайтиришнинг табиий усулини таклиф қилаётганини осон сезиб олиш
мумкин.
Дастурлашда қатор ўзгарувчилар яратилади ва уларга қийматлар
берилади. Турлар ёрдамида дастур учун қулай бўлган турли кўринишдаги
қийматлар аниқланади. Шундай қилиб, турлар дастур компонентларидан бири
деб айтиш мумкин бўлади. Оддий
турларга мисол сифатида бутун, узун ва
сузувчи турларни келтириш мумкин. Ўзгарувчининг тури ушбу ўзгарувчи
қандай қийматларни олиши ва унинг устида қандай операцияларни бажариш
мумкинлигини белгилаб беради.
Турлар дастурда қўллаш мумкин бўлган ўзгарувчилар турини аниқлаб
беради. Ушбу турдаги ўзгарувчи қандай йўл қўйиладиган қийматларга эга
бўлиши мумкинлигини тур белгилаб беради. Тур нафақат йўл қўйиладиган
қийматлар соҳасини, балки ушбу ўзгарувчи устида қандай операцияларни
бажариш
мумкинлиги, шунингдек олинадиган натижалар қандай турда
бўлишлигини ҳам белгилаб беради.
Турлар - ҳисобларда бир бутунлик сифатида амал қиладиган нарса.
Масалан, бутун сонни олайлик. Иккита бутун сонни қўшар экансиз, гарчи бу
сонлар компютер ҳотирасида битлар кўринишида намоён бўлса-да, сиз битлар
устидаги операциялар ҳақида бош қотириб ўтирмайсиз.
Жорий этиш беркитилган бўлгани туфайли, объект кўзда тутилмаган ва
деструктив (тузилмани бузадиган) фойдаланишдан ҳимояланган бўлади. Бу
жорий қилиш беркитилганлигининг афзалликларидан биридир. Бироқ
жорий
қилишнинг беркитилганлиги объектлардан фойдаланувчилар учун ҳам
муҳимдир.
Жорий қилишнинг беркитилганлиги дастурни мослашувчан қилади,
чунки фойдаланувчилар объектнинг жорий қилинишини ҳисобга олишга
мажбур эмаслар. Шундай қилиб, жорий қилишнинг беркитилганлиги нафақат
объектни химоялайди, балки кучсиз боғланган кодни яратишга ёрдам бериб,
ушбу объектдан фойдаланувчилар учун муайян ноқулайликларни четлаб ўтиш
имконини беради.
Кучсиз боғланган код - бу бошқа компонентларнинг жорий қилинишига
боғлиқ бўлмаган код.