Сайфиев ж. Ф. С++ тилига кириш услубий қўлланма


С++ тили ва объектларга мўлжалланган дастурлаш


Download 3.45 Mb.
bet4/79
Sana18.10.2023
Hajmi3.45 Mb.
#1707139
1   2   3   4   5   6   7   8   9   ...   79
Bog'liq
cpp buxoro

С++ тили ва объектларга мўлжалланган дастурлаш.


С++ тили объектга мўлжалланган дастурлаш принципларини қўллаб қувватлайди. Бу принциплар қуйидагилардир:

  • Инкапсуляция

  • Меросхўрлик

  • Полиморфизм




Инкапсуляция.


Агарда муҳандис ишлаб чиқариш жараёнида резисторни қўлласа, у буни янгидан ихтиро қилмайди, омборга (магазинга) бориб мос параметрларга мувофиқ керакли детални танлайди. Бу ҳолда муҳандис жорий резистор қандай тузилганлигига эътиборини қаратмайди, резистор фақатгина завод характеристикаларига мувофиқ ишласа етарлидир. Айнан шу ташқи конструкцияда қўлланиладиган яширинлик ёки объектни яширинлиги ёки автономлиги хоссаси инкапсуляция дейилади.


Инкапсуляция ёрдамида берилганларни яшириш таъминланади. Бу жуда яхши характеристика бўлиб фойдаланувчи ўзи ишлатаётган объектнинг ички ишлари ҳақида умуман ўйламайди. Ҳақиқатан ҳам, холодильникни ишлатишда рефрижекторни ишлаш принципини билиш шарт эмас. Яхши ишлаб чиқилган дастур объектини қўллашда унинг ички ўзгарувчиларининг ўзаро муносабати ҳақида қайғуриш зарур эмас.
Яна бир марта такрорлаш жоизки, резисторни самарали қўллаш учун унинг ишлаш принципи ва ички қурилмалари ҳақидаги маълумотларни билиш умуман шарт эмас. Резисторнинг барча хусусиятлари инкапсуляция қилинган, яъни яширилган. Резистор фақатгина ўз функциясини бажариши етарлидир.
С++ тилида инкапсуляция принципи синф деб аталувчи ностандарт типларни(фойдаланувчи типларини) ҳосил қилиш орқали ҳимоя қилинади.
Синфлар қандай тузилишга эга эканлиги билан кейинроқ танишиб чиқамиз.
Тўғри аниқланган синф объектини бутун дастурий модул сифатида ишлатиш мумкин. Ҳақиқий синфнинг барча ички ишлари яширин бўлиши лозим. Тўғри аниқланган синфнинг фойдаланувчилари унинг қандай ишлашини билиши шарт эмас, улар синф қандай вазифани бажаришини билсалар етарлидир.


Меросхўрлик


Acme Motors компанияси инженерлари янги автомобил конструкциясини яратишга аҳд қилишса, улар иккита вариантдан бирини танлашлари лозим. Биринчиси, автомобилнинг конструкциясини бошидан бошлаб янгидан ихтиро қилиш, иккинчиси эса мавжуд Star моделини ўзгартиришдир. Star модели қарийб идеал, фақатгина унга турбокомпрессор ва олти тезланишли узатма қўшиш лозим. Бош муҳандисиккинчи вариантни танлади. Яъни нолдан бошлаб қуришни эмас, балки Star автомобилига озгина ўзгартириш қилиш орқали яратишни танлади. Уни янги имкониятлар билан ривожлантирмоқчи бўлди. Шунинг учун, янги моделни Quasar деб номлашни таклиф қилди. Quasar-Star моделига янги деталларни қўшиш орқали яратилган.
С++ тили ҳам шундай меросхўрликни ҳимоя қилади. Бу янги берилганлар типи (синф), олдиндан мавжуд бўлган синфни кенгайтиришдан ҳосил бўлади. Бунда янги синф олдинги синфнинг меросхўри деб аталади.



Download 3.45 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   79




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling