Mavzu: Obyektga yo’naltirilgan dasturlash
Reja: 1.Abstraksiya tushinchasi.
2.Obyektga yo’naltirilgan dasturlashning asosiy maqsadi.
3. Obyektga yo’naltirilgan dasturlashda sinf tushunchasi.
4.Obyektga yo’naltirilgan dasturlash tillari.
5.Vizual dasturlash.
1. Hozirgi kunga kelib, kompyuterning behisob imkoniyatlari ma’lum bo’lmoqda. Undagi dasturlar orqali bajariladigan ishlar kishini hayratga solmoqda. Bularning barchasiga o’ta yuqori darajadagi abstraksiyalash asosida erishilgan. Masalan, kundalik hayotimizda ko’p duch keladigan oddiy rasmlarni olaylik. Biz ularni osonlik bilan kompyuterga yuklaymiz va u yerda tomosha qilamiz, shuningdek maxsus dasturlar yordamida o’zgartiramiz. Ammmo fizikaviy nuqtai-nazardan qaralaganda kompyuter ichida hech qanday rasm yo’q. Kompyuter elektr zanjirlari-yu yarim o’tkazgichlar birlashmasi xolos va u yerda umuman rasm haqida gap ham bo’lishi mumkin emas. Shunday ekan, kompyuterda saqlaydigan barcha narsalarimiz (rasmlar, filmlar, kitoblar,hujjat matnlari,dasturlar,umuman olganda fayllar) abstrakt holda kompyuter xotirasida mavjuddir, ya’ni ular fizikaviy kattalikka ega emas. Agar kompyuterni ta’kidlanganidek, yarim o’tkazgich-u va shunga o’xshash “temir-tersak” deb hisoblasak, barcha o’ziga xos abstraksiyalar temirga, ya’ni kompyuterga faqatgina mashina tilida tuzilgan dastur orqali boshqariladi. Demak, abstraksiya amalda kompyuterda qanday ifodalanishini anglash uchun birinchi navbatda mashina tilini o’rganish kerak. Ammo mashina tili ikkilik sanoq tizimidagi sonlar ketma-ketligidan iborat bo’lib, uni inson tushunishi yoki unda dasturlashi qiyin. Shuning uchun yuqori darajadagi abstraksiyadan foydalanish dasturchi ishini osonlashtiradi. Shunday abstraksiyalashga asoslangan paradigmalardan biri bu obyektga yo’naltirilgan dasturlash paradigmasi hisoblanadi.
2. Obyektga yo’naltirilgan dasturlash dastlab 1960-yilning boshida vujudga kelgan.1990-yillarning ikkinchi yarmiga kelib bu dasturlash paradigmasi SmallTalk va C++ tillari yordamida keng qo’llanila boshladi.
Obyektga yo’naltirilgan dasturlash (OYD)ning asosiy maqsadi - mavjud dasturiy ta’minotdan qayta foydalanish imkoniyatini berish.
Bu masalani yechoshning asosiy vositasi -meros qo’shish imkonini beruvchi abstrakt ma’lumotlar turlari hisoblanadi. Yangi abstrakt ma’lumot turi o’zining bazaviy sinfidan uning ma’lumotlari va amallarini meros qilib oladi. meros olish natijasida bir qancha amallarni o’zgartirish, yangi elementlarni qo’shish(ma’lumotlar va amallar).
Abstrakt ma’lumot turi merosxo’rlikni qo’llab-quvvatlovchi sinf hisoblanadi.
3.Sinf-bu bir xil atributlar, amallar, munosabatlar va semantikalarga ega bo’lgan obyektlar to’plami tavsifi. Istalgan obyekt - bu sinf nusxasi hisobalandi. Quyidagi chizmada keltirilganidek sinfning ichki tavsifi va tashqi tavsifi farqlanadi.
SINF
Qismlar
Interfeyslar
Ochiq
Himoyalangan
Yopiq
Paketli
Realizatsiya
Interfeys sinfning imkoniyatlarini e’lon qiladi, lekin uning strukturasi va holatini yashiradi. Interfeys 4 qismga bo’linishi mumkin:
1) barcha mijozlar uchun ochiq deb e’lon qilingan (public);
2) faqat sinfning o’ziga, uning merosxo’rlariga va do’stlariga ochiq, qolganlarga himoyalangan deb e’lon qilingan(protected);
3) faqat sinfning o’ziga va do’stiga ochiq, qolganlar uchun yopiq deb e’lon qilish (private);
4) yagona va o’sha paketga kiruvchi sinf uchun ochiq, qolganlar uchun yopiq deb e’lon qilingan (package).
Do’stona sinf deb shunday sinfga aytiladiki, sinfning barcha qismlariga (ochiq, himoyalangan va yopiq) murojaat qilish imkoniga ega bo’lgan sinfga aytiladi. Boshqacha aytganda do’st sinflar o’rtasida sir bo’lmaydi.
Sinflarni yaqqol grafik tarzda tasvirlash uchun unifikatsiyalangan visual modellash tili (UML) dan foydalaniladi. Unda sinf 3 ta seksiyadan iborat to’g’ri to’rtburchak shaklda ifodalanadi: yuqori qismida sinf ismi, o’rta qismida -atributlar(ma’lumotlar maydoni), quyi qismida sinf amallari. Vaziyatdan kelib chiqqan holda sinfning atributlari va amallari mavjud bo’lmasligi mumkin.