Umumiy ko'rinish oop dasturlarni tashkil qilishning yagona metodologiyasi doirasida ob'ektlar sinfi, ma'lumotlar tuzilishi va qiymat turi kabi tushunchalarga asoslangan tasnifni birlashtiradi


Download 51.74 Kb.
Sana24.12.2022
Hajmi51.74 Kb.
#1051861
Bog'liq
Kenjaboyev Komiljon


O’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI



Muhammad Al-Xorazmiy nomidagi Toshkent axborot texnologiyalari universiteti Farg‘ona filiali
Dasturlash uslublari va paradigmalar fanidan tayyorlagan

Taqdimoti

Topshirdi: Kenjaboyev K.
Qabul qildi: Musayev X.
. Umumiy ko'rinish

OOP dasturlarni tashkil qilishning yagona metodologiyasi doirasida ob'ektlar sinfi, ma'lumotlar tuzilishi va qiymat turi kabi tushunchalarga asoslangan tasnifni birlashtiradi. Qiymatlar turi, odatda, kompilyatsiya paytida olingan dastur kodining samaradorligini ta'minlaydigan asosiy past darajadagi amalga oshirish vositalarini aks ettiradi. Ma'lumotlar strukturasi konstruksiyalarning konstruktivligini ta'minlaydi, har qanday murakkablikdagi ma'lumotlar qurilgan qismlarga aniq kirishni kafolatlaydi. Ob'ektlar sinfi aniq kontekst bilan tavsiflanadi, unda ular to'g'ri qayta ishlanishi kerak. Kontekst odatda ob'yekt strukturasi ta'riflari va ularning xususiyatlarini o'z ichiga oladi.


Dastur matni bir vaqtning o'zida jarayonni boshqarish dinamikasini ham, dasturni bajarish jarayonida hosil bo'ladigan axborot oqimlari sxemasini ham ifodalaydi. Bundan tashqari, dasturni yozish va uni hal qilinayotgan masala sifatida o'zgartirish ketma-ketligi tizim va amalga oshirish echimlarini tanlash jarayoni mantig'idan va amalga oshirilgan echimlarni qo'llash mantiqidan sezilarli farq qiladigan mantiqqa mos kelishi mumkin. Odatda, dasturlash jarayonni boshqarish tafsilotlarining murakkabligini har qanday argumentlarni o'zgartiradigan umumiy funktsiyalarga qisqartirish orqali yashiradi. ma'lum natijalar. Yechilayotgan muammoni ishlab chiqish jarayonida dasturni o'zgartirish ko'pincha dastur matni va unga kiritilgan funktsiyalarning ta'riflarini qo'lda qayta ishlash orqali amalga oshiriladi.
Ob'ektlar bo'yicha echilgan masalalarni tahlil qilishda qandaydir faoliyat shunday tasvirlanganki, berilgan sinf ob'ekti bilan bajarilishi mumkin bo'lgan hamma narsa asta-sekin o'ylab topiladi. Keyin dasturda ob'ektni qayta ishlash usullarini eslatib o'tish kifoya. Agar ko'plab usullar mavjud bo'lsa, unda ular sinf ierarxiyasiga ko'ra tuzilgan bo'lib, bu sizga ma'lum bir usulni tanlashni avtomatlashtirishga imkon beradi. Ierarxiyaning har bir darajasida siz usullar to'plamini va ob'ektlarning tuzilishini biroz o'zgartirishingiz mumkin. Shunday qilib, dastur tavsifi interfeys va amalga oshirishga bo'linadi va interfeys amalga oshirishning murakkabligini shunday yashiradiki
faqat foydalanish uchun zarur bo'lgan ob'ekt bilan ishlashning minimal vositalarini o'rganish mumkinligi.
Ob'ektlar bilan ishlashda dasturlashda dastlabki gipoteza: agar dastur unga ta'sir qilmagan bo'lsa, ob'ekt o'zgarmaydi.
Biroq, haqiqat ko'pincha dastur yoki uning tarkibiy qismlarining ishlash muddatini sezilarli darajada uzaytirishi mumkin bo'lgan murakkabroq vaziyatlarni tushunish va hisobga olishni talab qiladi. Bunday holda, ob'ektlarga ko'proq erkinlik berish, ularni sub'ekt kontseptsiyasiga yaqinlashtirish qulay bo'ladi, uning tavsifida u qila oladigan hamma narsa mavjud. Dastur unga buyruq-xabarlar berishi va javob-natijalarni qabul qilishi mumkin.
Darhaqiqat, sub'ekt bir xil nomdagi usullar bilan qayta ishlanadigan ob'ektlar sinflarini, ya'ni bir oilaning funktsiyalarini birlashtirgan supersinfdir. Shunday qilib, qo'shishni tashkil qilishda, biz boshqa atamalarga qo'shilishi mumkin bo'lgan superklass "alohidalar" mavjud deb taxmin qilishimiz mumkin. Shu bilan birga, ular funktsiyalar oilasidan - qo'shimchani amalga oshiradigan usullardan foydalanadilar. Oilaning to'liqligiga qarab, natijani olish yoki bo'lmasligi mumkin. Oila parametr turlarining yangi kombinatsiyalari bilan bir xil nomdagi funktsiyalarni qo'shish orqali osongina kengaytiriladi.
Dasturning parchalanishiga yondashuvlarni yanada rivojlantirish murakkab muammolarni hal qilishning individual jihatlari va bosqichlarini aniqlash bilan bog'liq. Aspekt tushunchasi nuqtai nazarlarning farqi bilan bog'liq bo'lib, bu butun muammoning echimini tavsiflashga imkon beradi, lekin tavsifda faqat ko'rinadigan tafsilotlarni aks ettiradi. Nuqtai nazar o'zgargan sari, yangi tafsilotlar ma'nosiz bo'lmaguncha, ya'ni yaxshilanishni ko'rish qiyin bo'lmaguncha ko'rinishi mumkin.
Lispdagi kationlar xotiraning joylashishiga bog'liq bo'lmagan alohida jihat sifatida ajratilgan, qiymatlarni hisoblash dasturlarni kompilyatsiya qilishdan aniq ajratilgan, nomlarni ularning ta'riflari va xususiyatlariga bog'lash kontseptsiyasi mexanizmlarni tanlashga bog'liq emas. dastur konstruksiyalarini bajarish kontekstlarini amalga oshirish.
Murakkab dasturni ishlab chiqishni dasturlarni ilgari surish jarayonidagi bosqichlar ketma-ketligi sifatida ko'rib chiqish mumkin, agar muammoni yaxlit hal qilish to'g'ri vaqtda maqbul natijani kafolatlay olmaydigan hollarda asoslanadi - bu oldindan aytib bo'lmaydigan katta mehnat xarajatlarini talab qiladi.
"Alohida ish alohida dasturlashtiriladi va alohida bajariladi" dasturlarini tashkil qilishning qulay yondashuvi UNIX operatsion tizimini ishlab chiqish jarayonida dasturlarni parchalashning amaldagi printsipi bo'lib chiqdi. Ammo vazifalar mavjud, masalan, dasturlash tizimlarini amalga oshirish, unda bunday printsipga bevosita rioya qilish ishlash talablariga zid kelishi mumkin. Murosa qilish mumkin "alohida ish alohida dasturlashtirilgan, lekin boshqa ishlar bilan o'zaro bog'liq holda amalga oshiriladi"
bu dasturning parchalanishini yig'ish usullari bilan birlashtirishni talab qiladi - komponentlardan dasturlarni komplekslashtirish yoki integratsiya. Komplekslashtirishni, masalan, jarayonni boshqarish nuqtai nazaridan tavsiflangan boshqa "alohida" ish sifatida ko'rib chiqsak, shuni aytish mumkinki, bu ish dasturlash hajmidan ko'ra ko'proq dasturchining mahorat darajasiga qo'yiladigan talablarni belgilaydi. Muayyan sinf dasturlarini parchalash va yig'ish jarayonida yuzaga keladigan ma'lumotlar va jarayonlarni etarlicha ob'ektiv yozish bilan kutubxonalar quriladi.
tipik komponentlar va dasturiy mahsulotlarni ishlab chiqish uchun komponentli texnologiyalarni ishlab chiqish - Corba, COM / DCOM, UML va boshqalar. Bunday komponentlardan foydalanishdagi muammolardan biri ularning kengligidir.
Shunday qilib, OOP imperativ-protsessual dasturlash paradigmasi asosida vazifalar va ularni hal qilish dasturlari darajasida ma'lumotlar tuzilmalarini tashkil etishga yondashuvlar evolyutsiyasini aks ettirishi mumkin. Mavhum ma'lumotlar turlarini matematik jihatdan to'g'ri amalga oshirishga urinishlardan boshlab, ishlab chiqish va ishlab chiqish jarayonida texnik jihatdan oddiy statik ma'lumotlar turlarini tekshirishga amaliy o'tish amalga oshirildi.
kengaytirish dasturlarini qo'llash. Dasturni kengaytirish deklarativ tarzda amalga oshiriladi va yagona bo'lmagan ta'rifga ega bo'lgan funktsiyalarni bajarishda kerakli variantni tanlash ma'lumotlar turiga bog'liq. Qo'shimcha mexanizmlar joriy etildi: inkapsulyatsiya, kompilyatsiya paytida ma'lumotlar turlarini spetsifikatsiya qilish va ma'lumotlar turlari bo'yicha boshqariladigan ma'lumotlarni qayta ishlovchilarni tanlash.
OOP mexanizmlari ob'ektlar sinflari ierarxiyasi bo'yicha xususiyatlarni meros qilib olish va ixtiyoriy sinflarga "do'stona" kirishni ta'minlaydi. Dasturlashning ob'ektga yo'naltirilgan yondashuvidagi dasturlarning kengayishi o'xshaydi yangi ta'riflarning oddiy qo'shilishi sifatida. Ma'lumotlar turlari kutubxonalari va ularning usullari qayta ishlash umumiy tizimlarga osongina mos keladi. Interfeyslarning spetsifikatsiyasi printsipial jihatdan komponentlarning bajarilishini tekshirish bilan birga bo'lishi mumkin. Ekstremal dasturlash uslubida dasturlarni komponentlarga ajratish va dasturiy ta'minot komponentlarini qayta tiklash mumkin.
OOP dasturda qo'llaniladigan xususiy usullar to'plamini ushbu usullar bilan qayta ishlangan ob'ektlar sinflari ierarxiyasiga muvofiq tuzadi, funktsiyalar va protseduralar yordamida amalga oshiriladi, asosiy umumiy sxemalarni saqlab qolgan holda dasturda aniqlangan konstruktsiyalarni mahalliy ravishda o'zgartirish mumkin degan taxminga asoslanadi. axborotni qayta ishlash. Bu yangi kichik sinflarni e'lon qilish orqali o'zgartirishlar kiritish imkonini beradi.
va oldindan tuzatilgan dastur matnida tub o'zgarishlarsiz alohida sinflar ob'ektlarini qayta ishlash usullarini qo'shish.

7.2. mavhum avtomobil


AS IP, FP va LP analoglarini o'z ichiga oladi, bunda ob'ektlar sinfiga qarab usulni tanlash imkoniyati qo'shiladi.


OOP tillari uchun AM standart amaliy dasturlashning protsessual-imperativ tillari uchun AMga asoslanishi mumkin.
OO tili uchun mavhum mashina tuzilishi jihatidan FP va IOP uchun mashinalar birligiga o'xshaydi:

AMO = bu yerda SCO= qaerda S - operandlar stegi va hisob-kitoblar natijalari.


E - funktsiyani chaqirish paytida mahalliy o'zgaruvchilarning qiymatlari. C - joriy dastur to'plami.
D - usuldan chiqishda dastur kontekstini tiklaydigan dump.
M - doimiylar, usullar va ob'ektlarni imzolari bilan saqlaydigan umumiy xotira.

Belgilar:


<[sm], ts> – usul kodi, belgilar jadvali
metodlar jadvali, v – belgilar o‘zgaruvchilari, qaytish imzosi Sinf tasvirida konstantalar soni va ular haqidagi ma'lumotlar, sinf ob'ektlari maydonlariga kirish uchun bayroqlar, ob'ekt va yuqori sinfga havolalar, maydonlar soni va ular haqidagi ma'lumotlar, usullar soni va ular haqidagi ma'lumotlar mavjud.
Imzo ob'ekt maydonlari yoki usul parametrlarining ramziy xarakteristikasi bilan ifodalanadi.
Qiymatlar ma'lumotlar elementi turini ko'rsatadigan teglar bilan ma'lumotlar strukturasi sifatida amalga oshiriladi.
Sinflar, maydonlar va usullar qiymatlar emas va tegsiz saqlanadi.
OOP tili uchun odatiy virtual mashina buyruqlari

NOP jamoasi


QAYTISH PUT GET
AM buyruq formati:

s e c d m→ s' e' c' d' m' – eski holatdan yangi holatga o'tish.


37-jadval


OOP tili uchun virtual mashina buyruqlarining qo'shimcha spetsifikatsiyasi. (t mantiqiy)


Dastlabki holat s e (NOP . c) d m


s e (QAYTISH . c) d m
(f v . s) e (PUT i . c) d m (f . s) e (GET i . c) d m
((a1 a2 ... aK) f .s) e (INVOKE sig . c) d m
(Obj . s) e (CHECK turi . c) d m
Natija s e c d m
s e c d m
s e c d (m | m[f,i] = v) (m[f,i] . s) e c d m
s ((a1 a2 ... aK) . e) (f[sig] . c) d m (t . s) e c d m

Download 51.74 Kb.

Do'stlaringiz bilan baham:




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