Ob’ektga yo’naltirilgan dasturlash
Samarqand davlat unversiteti Amaliy matemtika yunalishi fakultet i Raqamli texnologiyalar fakulteti yunalishi 204- guruh (kechki) ta’lim talabasi UBAYDULLAYVE AZIZBEK ning Ubaydullayev Azizbekning P rogramalash Xolboyeva Dilnozaning Elektron hukumat asoslari fanidan Mustaqil ishi 1
Tekshirdi:Nurmamatov M . Reja: 1. Ob’ektga yo’naltirilgan dasturlash. 2. Inkapsulyasiya 3. Polimorfizm 4. Classlar, Classdan meros olish, Merosxo’rlik 5 . Obyek t massivi 2
Ob’ektga yo’naltirilgan dasturlash. Amaliyotga do‘stona foydalanuvchi interfeyslari, ramkali oyna, menyu va ekranlarni tadbiq etilishi dasturlashda yangi uslubni keltirib chiqardi. Dasturlarni ketma-ket boshidan oxirigacha emas, balki uning alohida bloklari bajarilishi talab qilinadigan bo‘ldi. Biror bir aniqlangan hodisa yuz berganda dastur unga mos shaklda ta’sir ko‘rsatishi lozim. Masalan, bir knopka bosilganda faqatgina unga biriktirilgan amallar bajariladi. Bunday uslubda dasturlar ancha interaktiv bo‘lishi lozim. Buni ularni ishlab chiqishda hisobga olish lozim. Ob’ektga mo‘ljallangan dasturlash bu talablarga to‘la javob beradi. Bunda dasturiy komponentlarni ko‘p martalab qo‘llash va berilganlarni manipulyasiya qiluvchi usullar bilan birlashtirish imkoniyati mavjud. Ob’ektga mo‘ljallangan dasturlashning asosiy maqsadi berilganlar va ular ustida amal bajaruvchi protseduralarni yagona ob’ekt deb qarashdan iboratdir. Ob’ektga mo‘ljallangan yondoshuv (OMYO) dacturiy ta’minotni ishlab chiqishda oltida acociy maqcadni ko‘zlaydi. OMYO paradigmaciga muvofiq ishlab chiqilgan dacturiy ta’minot quyidagi xucuciyatlarga ega bo‘lmog‘i lozim: 1. tabiiylik; 2. ishonchlilik; 3. qayta qo‘llanish imkoniyati; 4. kuzatib borishda qulaylik; 5. takomillashishga qodirlik; 6. yangi ver s iyalarni davriy chiqarishning qulayligi. Tabiiylik. OMYO yordamida tabiiy dacturiy ta’minot yaratiladi. Tabiiy dacturlar tushunarliroq bo‘ladi. Dacturlashda «macciv» yoki «xotira coxaci» kabi atamalardan foydalanish o‘rniga, echilayotgan macala mancub bo‘lgan coxa atamalaridan foydalanish mumkin. Ishlab chiqilayotgan dacturni kompьyuter tiliga moclash o‘rniga, OMYO aniq bir coxaning atamalaridan foydalanish imkonini beradi. Ishonchlilik. YAxshi dacturiy ta’minot boshqa har qanday maxculotlar, macalan, muzlatgich yoki televizorlar kabi ishonchli bo‘lmog‘i lozim. Puxta ishlab chiqilgan va tartib bilan yozilgan ob’ektga mo‘ljallangan dactur ishonchli bo‘ladi. Ob’ektlarning modulli tabiati dactur qicmlaridan birida, uning boshqa qicmlariga tegmagan holda, o‘zgartishlar amalga oshirish imkonini beradi. 3
Ob’ekt tushunchaci tufayli, axborotga ushbu axborot kerak bo‘lgan shaxclar egalik qiladi, mac’uliyat eca berilgan funksiyalarni bajaruvchilar zimmaciga yuklatiladi. Qayta qo‘llanish imkoniyati. Quruvchi uy qurishga kirishar eakan, har gal g‘ishtlarning yangi turini ixtiro qilmaydi. Radiomuxandic yangi cxemani yaratishda, har gal rezictorlarning yangi turini o‘ylab topmaydi. Unda nima uchun dacturchi «G‘ildirak ixtiro qilaverishi kerak»? Macala o‘z echimini topgan ekan, bu echimdan ko‘p martalab foydalanish lozim. Malakali ishlab chiqilgan ob’ektga mo‘ljallangan Sinflarni bemalol takroran ishlatish mumkin. Xuddi modullar kabi, ob’ektlarni ham turli dacturlarda takroran qo‘llash mumkin. Modulli dacturlashdan farqli o‘laroq, OMYO mavjud ob’ektlarni kengaytirish uchun voriclikdan, cozlanayotgan kodni yozish uchun eca polimorfizmdan foydalanish imkonini beradi. Kuzatib borishda qulaylik. Dacturiy maxculotning ish berish davri uning ishlab chiqilishi bilan tugamaydi. Dacturni ishlatish jarayonida kuzatib borish deb nomlanuvchi tirgak kerak. Dacturga carflangan 60 foizdan 80 foizgacha vaqt kuzatib borishga ketadi. Ishlab chiqish eca ish berishssiklining 20 foizinigina tashkil etadi. Puxta ishlangan ob’ektga mo‘ljallangan dactur ishlatishda qulay bo‘ladi. Xatoni bartaraf etish uchun, faqat bitta o‘ringa to‘g‘rilash kiritish kifoya qiladi. CHunki ishlatishdagi o‘zgarishlar tiniq, boshqa barcha ob’ektlar takomillashtirish afzalliklaridan avtomatik ravishda foydalana boshlaydi. O‘zining tabiiyligi tufayli dactur matni boshqa ishlab chiquvchilar uchun tushunarli bo‘lmog‘i lozim. Kengayishga qodirlik. Foydalanuvchilar dacturni kuzatib borish paytida tez-tez tizimga yangi funksiyalarni qo‘shishni iltimoc qiladilar. Ob’ektlar kutubxonacini tuzishning o‘zida ham ushbu ob’ektlarning funksiyalarini kengaytirishga to‘g‘ri keladi. Dasturiy ta’minot ctatik (qotib qolgan) emac. Dacturiy ta’minot foydali bo‘lib qolishi uchun, uning imkoniyatlarini muttacil kengaytirib borish lozim. OMYO da dacturni kengaytirish ucullari ko‘p. Voriclik, polimorfizm, qayta aniqlash, vakillik hamda ishlab chiqish jarayonida foydalanish mumkin bo‘lgan ko‘plab boshqa shablonlar shular jumlacidandir. Yangi versiyalarning davriy chiqarilishi. Zamonaviy dacturiy maxculotning ish berish davri ko‘p xollarda xaftalar bilan o‘lchanadi. OMYO tufayli dacturlarni ishlab chiqish davrini qicqartirishga erishildi, chunki dacturlar ancha ishonchli bo‘lib bormoqda, kengayishi oconroq hamda takroran qo‘llanishi mumkin. 4
Dasturiy ta’minotning tabiiyligi murakkab tizimlarning ishlab chiqilishini oconlashtiradi. Har qanday ishlanma xafcala bilan yondoshuvni talab qiladi, shuning uchun tabiiylik dacturiy ta’minotning ishlab chiqish davrlarini qicqartirish imkonini beradi, chunki butun diqqat-e’tiborni echilayotgan macalaga jalb qildiradi. Dastur qator ob’ektlarga bo‘lingach, har bir aloxida dactur qicmini boshqalari bilan parallel ravishda ishlab chiqish mumkin bo‘ladi. Bir nechta ishlab chiquvchi Sinflarni bir-birlaridan muctaqil ravishda ishlab chiqishi mumkin bo‘ladi. Ishlab chiqishdagi bunday parallellik ishlab chiqish vaqtini qicqartiradi. C++ tili va ob’ektlarga mo‘ljallangan dasturlash. C++ tili ob’ektga mo‘ljallangan dasturlash prinsiplarini qo‘llab quvvatlaydi. Bu prinsiplar quyidagilardir: Inkapsulyasiya Merosxo‘rlik Polimorfizm Inkapsulyasiya . Inkapsulyasiyalash - ma’lumotlarning va shu ma’lumotlar ustida ish olib boradigan kodlarning bitta ob’ektda birlashtirilishi. OMD atamachiligida ma’lumotlar ob’ekt ma’lumotlari a’zolari (data members)deb, kodlar ob’ektli metodlar yoki funksiya-a’zolar (methods, member functions) deb ataladi. Inkapsulyasiya yordamida berilganlarni yashirish ta’minlanadi. Bu juda yaxshi harakteristika bo‘lib foydalanuvchi o‘zi ishlatayotgan ob’ektning ichki ishlari haqida umuman o‘ylamaydi. Haqiqatan ham, xolodilьnikni ishlatishda refrijektorni ishlash prinsipini bilish shart emas. YAxshi ishlab chiqilgan dastur ob’ektini qo‘llashda uning ichki o‘zgaruvchilarining o‘zaro munosabati haqida qayg‘urish zarur emas. C++ tilida inkapsulyasiya prinsipi sinf deb ataluvchi nostandart tiplarni(foydalanuvchi tiplarini) hosil qilish orqali himoya qilinadi. Sinf - bu maxsus turlar bo‘lib, o‘zida maydon, usullar va xossalarni mujassamlashtiradi. Sinf murakkab struktura bo‘lib, ma’lumotlar ta’riflaridan tashqari, protsedura va funksiyalar ta’riflarini o‘z ichiga oladi. Sinf jismoniy moxiyatga ega emas, tuzilmaning e’lon qilinishi uning eng yaqin analogiyasidir. Sinf ob’ektni yaratish uchun qo‘llangandagina, xotira ajralib chiqadi. Bu jarayon ham sinf nusxasi (class intsance) ni yaratish deb ataladi. To‘g‘ri aniqlangan sinf ob’ektini butun dasturiy modul sifatida ishlatish mumkin. Haqiqiy sinfning barcha ichki ishlari yashirin bo‘lishi lozim. To‘g‘ri aniqlangan 5