Obyektga mo’ljallangan yondoshuv (OMYo) ni tushunib yetish hamda undan foydalanishni uzlashtirib olish uchun, avvalam bor puxta bazaviy bilimlarni egallab olish lozim. Bazaviy tushunchalarni puxta anglab yetibgina, dasturlarni yaratishda OMYo ni qo’llash mumkin. Inkapsulyalash, vorislik va polimorfizm obyektga mo’ljallangan dasturlash (OMD) ninguchta bazaviy iushunchasi hisoblanadi.

Inkapsulyalash

Inkapsulyalash dasturni qandaydir monolit, bo’linmas narsa sifatida olib qaramay, ko’plab mustaqil elementlarga bo’lish imkonini beradi. Har bir element o’z funksiyalarini boshqa elementlardan mustaqil ravishda bajara oladigan alohida modul sifatida olib qaraladi. Aynan inkapsulyalash tufayli mustaqillik darajasi ortadi, chunki ichki detallar interfeys ortida yashiringan bo’ladi.

Inkapsulyalash modullikning obyektga mo’ljallangan tavsifidir. Inkapsulyalash yordamida dasturiy ta’minotni ma’lum funksiyalarni bajaruvchi modullarga bo’lib tashlash mumkin. Bu funksiyalarni amalga oshirish detallari esa tashqi olamdan yashirin holda bo’ladi.

Mohiyatan inkapsulyalash atamasi «germetik berkitilgan; tashqi ta’sirlardan himoyalangan dastur qismi» degan ma’noni bildiradi.

Agar biron-bir dasturiy obyektga inkapsulyalash qo’llangan bo’lsa, u holda bu obyekt qora quti sifatida olib qaraladi. Siz qora quti nima qilayotganini uning tashqi interfeysini ko’rib turganingiz uchungina bilishingiz mumkin. Qora quti biron narsa qilishga majburlash uchun, unga xabar yuborish kerak. Qora quti ichida nima sodir bo’layotgani ahamiyatli emas, qora quti yuborilgan xabarga adekvat (mos ravishda) munosabatda bo’lishi muhimroqdir.

Interfeys tashqi olam bilan tuzilgan o’ziga xos bitim bo’lib, unda tashqi obyektlar ushbu obyektga qanday talablar yuborishi mumkinligi ko’rsatilgan bo’ladi. Interfeys – obyektni boshqarish pulti.

Ommaviy, xususiy va himoyalangan kirish.

Qandaydir bir elementni ommaviy interfeysga kiritish yoki, aksincha, undan chiqarish uchun, kalit so’zdan foydalanish kerak. OMD ning har bir tilida kalit so’zlar to’plami belgilangan, biroq bu so’zlar asosan bir xil funksiyalarni bajaradi.

Obyektga mo’ljallangan tillarning ko’pchiligida kirishning uchta darajasi mavjud.

-Ommaviy (public) – barcha obyektlar uchun kirish uchun ruxsat bor.

-Himoyalangan (protected) – faqat ushbu ekzemplyarga va har qanday tarmoq sinflarga kirishga ruxsat bor.

-Xususiy (private) – faqat ushbu ekzemplyarga kirishga ruxsat bor.

Loyihada kirish darajasini to’g’ri tanlab olish g’oyat muhimdir. Ko’rinadigan qilinishi lozim bo’lgan barcha narsa ommaviy bo’lmog’i lozim. Berkitilishi lozim bo’lgan har qanday narsa himoyalangan yoki xususiy kirishga ega bo’lmog’i kerak.

Inkapsulyalash nima uchun kerak?

Inkapsulyalashdan to’g’ri foydalanish tufayli obyektlar bilan o’zgartiriladigan komponentlar (tarkibiy qismlar) dek muomala qilish mumkin. Boshqa obyekt sizning obyektingizdan foydalana olishi uchun, u sizning obyektingizning ommaviy interfeysidan qanday fodalanish kerakligini bilishi kifoya. Bunday mustaqillik uchta muhim afzallikka ega.

– Mustaqillik tufayli, obyektdan takroran foydalanish mumkin. Inkapsulyalash puxta amalga oshirilgan bo’lsa, obyektlar ma’lum bir programmaga bog’lanib qolgan bo’lmaydi. Ulardan imkoni bo’lgan hamma yerda foydalanish mumkin bo’ladi. Obyektdan boshqa biron o’rinda foydalanish uchun, uning interfeysidan  foydalanib qo’ya qolish kifoya.

– Inkapsulyalash tufayli, obyektda boshqa obyektlar uchun ko’rinmas bo’lgan o’zgarishlarni amalga oshirish mumkin. Agar interfeys o’zgartirilmasa, barcha o’zgarishlar obyektdan foydalanayotganlar uchun ko’rinmas bo’ladi. Inkapsulyalash komponentni yaxshilash, amalga oshirish samaradorligini ta’minlash, xatolarni bartaraf etish imkonini beradi, yana bularning hammasi dasturning boshqa obyektlariga ta’sir ko’rsatmaydi. Obyektdan foydalanuvchilar ularda amalga oshirilayotgan barcha o’zgarishlardan avtomatik tarzda yutadilar.

– Himoyalangan obyektdan foydalanishda obyekt va dasturning boshqa qismi o’rtasida biron-bir ko’zda tutilmagan o’zaro aloqalar bo’lishi mumkin emas. Agar obyekt boshqalardan ajratilgan bo’lsa, bu holda u dasturning boshqa qismi bilan faqat o’z interfeysi orqali aloqaga kirishishi mumkin.

Shunday qilib, Inkapsulyalash yordamida modulli dasturlarni yaratish mumkin. Samarali Inkapsulyalashning uchta o’ziga xos belgisi qo’yidagicha:

-abstraksiya;

-joriy qilishning berkitilganligi;

-mas’uliyatning bo’linganligi.

News Reporter

1 thought on “Obyektga mo’ljallangan yondoshuvning uchta tamoyili

Leave a Reply

Your email address will not be published. Required fields are marked *