|
Fan va innovatsiyalar vazirligi
|
bet | 1/2 | Sana | 18.12.2023 | Hajmi | 36,86 Kb. | | #122030 |
Bog'liq dasturlash uslublari va paradigmalar
O‘ZBEKISTON RESPUBLIKASI OLIY TA’LIM,
FAN VA INNOVATSIYALAR VAZIRLIGI
MUHAMMAD AL‑XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
Dasturlash uslublari va paradigmalar fani bo’yicha
Mustaqil ish
Bajardi:315-21-guruh talabasiUmurov Uchqun
Tekshirdi: Xidirova Charos
Mavzu:OB’EKTGA YO‘NALTIRILGAN DASTURLASH
Reja:
Ob’ektga yo’naltirilgan dasturlash
OOP bloklari va prinsiplari
OOP tillariga misollar va ularning afzalliklari
OOPning muqobil usullari
funksional model
Kalit so‘zlar: OYD(OOP), inkapsulatsiya, abstrakt, metod, meros, polimorfizm.
Ob’ektga yo’naltirilgan dasturlash (OOP-object oriented programming) - bu kompyuter dasturlash modeli bo’lib, u funksiyalar va mantiq emas, balki ma’lumotlar yoki ob’ektlar atrofida dasturiy ta’minot dizaynini tashkil qiladi. Ob’ektni noyob atributlar va xatti-harakatlarga ega bo’lgan ma’lumotlar maydoni sifatida aniqlash mumkin.
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:
1.Sinflar - bu foydalanuvchi tomonidan belgilangan ma’lumotlar turlari bo’lib, ular alohida ob’ektlar, atributlar va usullar uchun loyiha sifatida ishlaydi.
2.Ob’yektlar - bu maxsus belgilangan ma’lumotlar bilan yaratilgan sinf namunalari. Ob’ektlar real dunyo ob’ektlariga yoki mavhum ob’ektga mos kelishi mumkin. Sinf dastlab aniqlanganda, tavsif belgilangan yagona ob’yekt hisoblanadi.
3.Metodlar - bu ob’ektning xatti-harakatlarini tavsiflovchi sinf ichida aniqlangan funktsiyalar. Sinf ta’riflarida mavjud bo’lgan har bir usul misol ob’ektiga havola bilan boshlanadi. Bundan tashqari, ob’ekt tarkibidagi pastki dasturlarga misol usullari deyiladi. Dasturchilar qayta foydalanish yoki funksionallikni bir vaqtning o’zida bitta ob’ekt ichida saqlash usullaridan foydalanadilar.
4.Atributlar sinf shablonida aniqlanadi va ob’ekt holatini ifodalaydi. Ob’ektlar atributlar maydonida saqlanadigan ma’lumotlarga ega bo’ladi. Sinf atributlari sinfning o’ziga tegishlidir.
Ob’ektga yo’naltirilgan dasturlash quyidagi prinsiplarga asoslanadi:
1.Inkapsulatsiya. Ushbu tamoyil barcha muhim ma’lumotlar ob’ekt ichida joylashganligini va faqat tanlangan ma’lumotlarning ochiqligini bildiradi. Har bir ob’ektning amalga oshirilishi va holati belgilangan sinf ichida shaxsiy saqlanadi. Boshqa ob’ektlarda ushbu sinfga kirish yoki o’zgartirishlar kiritish huquqi yo’q. Ular faqat davlat funktsiyalari yoki usullari ro’yxatini chaqirishlari mumkin. Ma’lumotlarni yashirishning bu xususiyati dasturning katta xavfsizligini ta’minlaydi va ma’lumotlarning kutilmagan buzilishlarini oldini oladi.
2.Abstraksiya. Ob’ektlar faqat boshqa ob’ektlardan foydalanish uchun tegishli bo’lgan ichki mexanizmlarni ochib beradi, keraksiz amalga oshirish kodini yashiradi. Olingan sinf o’zining funktsional imkoniyatlariga ega bo’lishi mumkin. Ushbu kontseptsiya ishlab chiquvchilarga vaqt o’tishi bilan qo’shimcha o’zgartirishlar yoki qo’shimchalar kiritishga yordam beradi.
3.Meros. Sinflar boshqa sinflardagi kodlarni qayta ishlatishi mumkin. Ob’ektlar o’rtasidagi munosabatlar va pastki sinflar tayinlanishi mumkin, bu esa ishlab chiquvchilarga yagona ierarxiyani saqlab qolgan holda umumiy mantiqni qayta ishlatishga imkon beradi. OOP ning bu xususiyatima’lumotlarni chuqurroq tahlil qilishga majbur qiladi, ishlab chiqish vaqtini qisqartiradi va yuqori darajadagi aniqlikni ta’minlaydi.
4.Polimorfizm. Ob’ektlar xatti-harakatlarni almashish uchun mo’ljallangan va ular bir nechta shaklga ega bo’lishi mumkin. Dastur ota-sinfdan ushbu ob’ektning har bir bajarilishi uchun qaysi ma’no yoki foydalanish zarurligini aniqlaydi va kodni takrorlash zaruratini kamaytiradi. Keyin ota-sinfning funksionalligini kengaytiradigan bolalar sinfi yaratiladi. Polimorfizm har xil turdagi ob’ektlarning bir xil interfeys orqali o’tishiga imkon beradi.
Simula birinchi ob’ektga yo’naltirilgan dasturlash tili deb hisoblansa-da, bugungi kunda OOP bilan boshqa ko’plab dasturlash tillari qo’llaniladi . Ammo ba’zi dasturlash tillari OOP bilan boshqalarga qaraganda yaxshiroq birlashadi. Misol uchun, sof OOP tillari hisoblangan dasturlash tillari hamma narsani ob’ekt sifatida ko’rib chiqadi. Boshqa dasturlash tillari asosan OOP uchun mo’ljallangan, lekin ba’zi protsessual jarayonlarni o’z ichiga oladi.
Masalan, mashhur sof OOP tillariga quyidagilar kiradi:
1. Ruby
2. Skala
3.JADE
4.Zumrad
Asosan OOP uchun moʻljallangan dasturlash tillariga quyidagilar kiradi:
1. Java
2. Python
3. C++
OOP bilan bog’langan boshqa dasturlash tillariga quyidagilar kiradi:
1.Visual Basic.NET
2.PHP
3.JavaScript
OOPning afzalliklari quyidagilardan iborat:
1. Modullilik. Inkapsulyatsiya ob’ektlarni o’z-o’zidan saqlashga imkon beradi, bu esa muammolarni bartaraf etish va hamkorlikda ishlab chiqishni osonlashtiradi.
2. Qayta foydalanish imkoniyati. Kod meros orqali qayta ishlatilishi mumkin, ya’ni jamoa bir xil kodni bir necha marta yozishi shart emas.
3. Hosildorlik. Dasturchilar bir nechta kutubxonalar va qayta ishlatiladigan kodlar yordamida yangi dasturlarni tezroq qurishlari mumkin.
4. Osonlik bilan yangilanadigan va kengaytirilishi mumkin. Dasturchilar tizim funksiyalarini mustaqil ravishda amalga oshirishlari mumkin.
5. Interfeys tavsiflari . Ob’ektlar bilan aloqa qilish uchun ishlatiladigan xabarlarni uzatish usullari tufayli tashqi tizimlarning tavsiflari oddiy.
6. Xavfsizlik. Inkapsulyatsiya va abstraktsiyadan foydalanib, murakkab kod yashiringan, dasturiy ta’minotga texnik xizmat ko’rsatish osonroq va internet protokollari himoyalangan.
7. Moslashuvchanlik. Polimorfizm bitta funktsiyaga u joylashgan sinfga moslashish imkonini beradi. Turli ob’ektlar ham bir xil interfeys orqali o’tishi mumkin.
Ob’ektga yo’naltirilgan dasturlash modeli ishlab chiquvchilar tomonidan bir nechta sabablarga ko’ra tanqid qilingan. Eng katta muommo shundaki, OOP dasturiy ta’minotni ishlab chiqishning ma’lumotlar komponentiga ortiqcha urg’u beradi va hisoblash yoki algoritmlarga etarlicha e’tibor bermaydi. Bundan tashqari, OOP kodini yozish ancha murakkab va kompilyatsiya qilish ko’proq vaqt talab qilishi mumkin.
OOPning muqobil usullari quyidagilardan iborat:
1. Funksional dasturlash. Bunga telekommunikatsiya va nosozliklarga chidamli tizimlar uchun ishlatiladigan Erlang va Scala kabi tillar kiradi.
2. Strukturaviy yoki modulli dasturlash. Bunga PHP va C# kabi tillar kiradi.
3. Imperativ dasturlash. OOP ga alternativa modellarga emas, balki funksiyaga e’tibor qaratadi va C++ va Java-ni o’z ichiga oladi.
4. Deklarativ dasturlash. Ushbu dasturlash usuli vazifa yoki istalgan natija nima ekanligi haqidagi bayonotlarni o’z ichiga oladi, lekin unga qanday erishish mumkin emas. Tillarga Prolog va Lisp kiradi.
5. Mantiqiy dasturlash. Ko’pincha rasmiy mantiqqa asoslangan va Prolog kabi tillardan foydalanadigan bu usul muammoli sohaga oid faktlar yoki qoidalarni ifodalovchi jumlalar to’plamini o’z ichiga oladi. U qoidaga asoslangan mantiqiy so’rovlardan foydalanishi mumkin bo’lgan vazifalarga qaratilgan. Ko’pgina ilg’or dasturlash tillari ishlab chiquvchilarga modellarni birlashtirishga imkon beradi, chunki ular turli xil dasturlash usullari uchun ishlatilishi mumkin. Masalan, JavaScriptdan OOP va funktsional dasturlash uchun foydalanish mumkin.
|
| |