Dasturlashdagi obyekt - Mustaqil ish obʼyektga yo‘naltirilgan dasturlash tamoyillari

|
Mustaqil ish obʼyektga yo‘naltirilgan dasturlash tamoyillari
|
bet | 2/8 | Sana | 18.12.2023 | Hajmi | 310,32 Kb. | | #122036 |
Bog'liq Muzaffarov Azizbek Dasturlash uslublari va paradigmalar mustaqil ishDasturlashdagi obyekt.
Dasturlashdagi obyekt(bundan keyin oddiygina obyekt deb ketiladi) ham haqiqiy
hayotdagi obyektlarga o'xshash: Ular ham qandaydir hususiyatlar va bajaradigan
funktsiyalardan iborat bo'ladi. Obyektning hususiyatlari har xil
dasturiy o'zgaruvchilardan iborat bo'ladi va ularning o'zgartirish uchun
qandaydir funktsiyalar bajariladi. Bunday funktsiyalar bilan o'zgaruvchilarning
holatini berkitish mumkin ya'ni aynan o'sha o'zgaruvchini tashqaridan o'zgartirish
uchun albatta maxsus funktsiyadan foydalanish kerak bo'ladi. Bu jarayon
"Enkapsulatsiya" deb atalib, OYDning eng muxim tushunchalaradian biridir. Hech
e'tibor berganmisiz dorilarda ham shu termin ishalitladi ya'ni kapsula(ustidan maxsus
modda bilan o'ralgan dorilar), buni misolni Enkapsulatsiya jarayoni esda yaxshi
qolishi va tushunarli bo'lishi uchun keltirdim.
Mashinani tasavvur qiling,
Uni dasturlash obyekit sifatida modellashtiramiz:
Uning o'zgaruvchilari( hozirgi tezligi, qolgan benzini, va h.k) va uning
funktsiyalari(to'xtatish, tezlikni oshirish, rulni burish, va h.k.). Bu yerda uning
bakidagi benzini yurishi tufayli kamayib boradi demak uning qiymatining o'zgarishi
0dan bakning sig'imigacha bo'ladi, yoki uning tezligi ham shu kabi aynan qaysidir
funktsiyalarning amalga oshirilishi orqali u ham 0 dan maksimal tezligigacha
o'zgarishi mumkin. Bulardan tashqari mashinaning ba'zi hususiyatlari borki ular
o'zgarmasligi mumkin, masalan, rangi.
Demak, ko'rinib turiptiki mashina ham o'z navbatida bir necha mayda obyeklardan
iborat bo'ladi. Va albatta ularni kodda yozganda ham alohida obyekt sifatida
ifodalash kerak bu orqali nimalarga erishish mumkin:
Qismlilik: Har bir obyektga tegishli bo'lgan kodlar alohida-alohida, boshqa
obyeklarga bog'liq bo'lmagan holda boshqarish imkoniyatiga ega bo'lamiz. Bu
hammasi emas, tasavvur qiling mashina obyektini ifodalovchi kodni bo'lmasdan
faqat bitta faylda ifodaladik; bu esa murakkabligiga qarab yuzlab hatto minglab
qatorli kod bo'lishi mumkin. Undan biror narsani topib-o'zgartrish ancha
mashaqqat bo'ladi.
Qayta foydalanish: Yana boshqa plyus tarafi biz bo'laklagan mashinaning
detallarini boshqa obyektlarda ham ishlatishimiz mumkin. Masalan, 2 xil
mashina ularning shunday qismlari borki aynan bir xil, ana o'shalar uchun ikki
marta alohida kod yozmasdan, bitta yozganimizni qayta ishlatishimiz mumkin.
Uzib-ulanuvchanligi: buni tushunish uchun yuqoridagi misoldan foydlanamiz,
aytaylik, mashinaning biror qismi ishlamayapti, xo'sh nima qilinadi? yoki ishlab
turgan boshqasiga almashtiramiz, yoki tuzatamiz. Mashinaning biror bolti
buzilsa uni boshqa ishlab turgani bilan almashtirasiz yoki tuzatamiz lekin
mashinani almashtirmaymiz.
OOP asosiy e’tiborni ishlab chiquvchilar ularni manipulyatsiya qilish uchun zarur bo’lgan mantiqqa emas, balki boshqarmoqchi bo’lgan ob’ektlarga qaratadi. Dasturlashning bunday yondashuvi katta, murakkab va faol yangilanadigan yoki xizmat ko’rsatuvchi dasturlar uchun juda mos keladi. Bunga ishlab chiqarish va dizayn dasturlari, shuningdek, mobil ilovalar kiradi; masalan, OOP tizimi simulyatsiya dasturlarini ishlab chiqarish uchun ishlatilishi mumkin. Ob’ektga yo’naltirilgan dasturni tashkil etish, shuningdek, loyihalar guruhlarga bo’lingan holda hamkorlikda ishlab chiqish uchun usulni foydali qiladi. OOP ning qo’shimcha afzalliklariga
kodning qayta ishlatilishi,kengaytirilishi va samaradorligi kiradi.
OOPda birinchi qadam dasturchi manipulyatsiya qilmoqchi bo’lgan barcha ob’ektlarni to’plash va ularning bir-biri bilan qanday bog’liqligini aniqlashdir - bu mashq ma’lumotlarni modellashtirish deb nomlanadi. Ob’ektga misollar ism va manzil kabi xususiyatlar bilan tavsiflangan inson kabi jismoniy shaxslardan tortib, vidjetlar kabi kichik kompyuter dasturlarigacha bo’lishi mumkin. Ob’ekt ma’lum bo’lgach, u o’z ichiga olgan ma’lumotlar turini va uni boshqarishi mumkin bo’lgan har qanday mantiqiy ketma-ketlikni belgilaydigan ob’ektlar sinfi bilan etiketlanadi. Har bir aniq mantiqiy ketma-ketlik usul sifatida tanilgan. Ob’ektlar xabarlar deb ataladigan yaxshi belgilangan interfeyslar bilan aloqa qilishi mumkin.
Ob’ektga yo’naltirilgan dasturlashning tuzilishi yoki qurilish bloklari quyidagilarni o’z ichiga oladi:
Sinflar - bu foydalanuvchi tomonidan belgilangan ma’lumotlar turlari bo’lib, ular alohida ob’ektlar, atributlar va usullar uchun loyiha sifatida ishlaydi.
|
| |