Inkapsulatsiya. Inkapsulatsiyalash - ma'lumotlarning va shu ma'lumotlar ustida ish olib boradigan kodlarning bitta obyektda birlashtirili- shi. OMD atamachiligida ma’lumotlar obyekt ma'lumotlari a’zolari (data members) deb, kodlar obyektli usullar yoki funksiya-a’zolari (methods, member functions) deb ataladi.
Inkapsulatsiya yordamida berilganlarni yashirish ta'minlanadi. Bu juda yaxshi xarakteristika bo'lib, foydalanuvchi o'zi ishlatayotgan obyekt- ning ichki ishlari haqida umuman o‘ylamaydi. Haqiqatan ham. sovitgichni ishlatishda refrijektorning ishlash prinsipini bilish shart emas. Yaxshi ishlab chiqilgan dastur obyektini qo‘llashda uning ichki o'zgaruvchilarining o‘zaro munosabati haqida qayg‘urish zarur emas.
C++ tilida inkapsulatsiya prinsipi sinf deb ataluvchi nostandart tur- larni (foydalanuvchi turlarini) hosil qilish orqali himoya qilinadi.
Sinf — bu maxsus tur boiib, o'zida maydon, usullar va xossalarni mujassamlashtiradi.
Sinf murakkab struktura boiib, maiumotlar ta’riflaridan tashqari, protsedura va funksiyalar ta’riflarini o‘z ichiga oladi.
Sinf jismoniy mohiyatga ega emas, tuzilmaning e’lon qilinishi uning eng yaqin analogidir. Sinf obyektni yaratish uchun qoilangandagina, xotira ajralib chiqadi. Bu jarayon ham sinfnusxasi (class intsance)ni yaratish deb ataladi.
To'gii aniqlangan sinf obvektini butun dasturiy modul sifatida ishlatish mumkin. Haqiqiy sinfning barcha ichki ishlari yashirin boiishi lozim. To'g'ri aniqlangan sinfning foydalanuvchilari uning qanday ishlashini bilishi shart emas, ular sinf qanday vazifani bajarishini bilsalar yetarli.
Aynan inkapsulatsiyalash tufayli mustaqillik darajasi ortadi, chunki ichki detallar interfeys ortida yashiringan boiadi.
Inkapsulatsiyalash modullikning obyektga moijallangan tavsifidir. Inkapsulatsiyalash yordamida dasturiy ta'minotni maium funksiyalarni bajaruvchi modullarga boiib tashlash mumkin. Bu funksiyalarni amalga oshirish detallari esa tashqi olamdan yashirin holda boiadi.
Mohiyatan inkapsulatsiyalash atamasi «germetik berkitilgan; tashqi ta’sirlardan himovalangan dastur qismi» degan ma’noni bildiradi.
Agar biror-bir dasturiy obyektga inkapsulatsiyalash qoilanilgan boisa, 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 biror narsa qilishga majburlash uchun, unga xabar yuborish kerak. Qora quti ichida nima sodir boiayotgani ahamivatli emas, qora quti yuborilgan xabarga adekvat (mos ravishda) munosabatda boiishi muhimroqdir.
Interfeys tashqi olam bilan tuzilgan o'ziga xos bitim boiib, unda tashqi obyektlar ushbu obyektga qanday talablar vuborishi mumkinligi ko'rsatilgan boiadi. Interfeys - obyektni boshqarish pulti.
Shuni ta’kidlab o'tish lozimki, «Casio» soatining suyuq kristalli dis- pleyi ushbu obyektning maiumotlar a’zosi boiadi. boshqarish tugmacha- lari esa obyektli usullar boiadi. Soat tugmachalarini bosib, displeyda vaqtni o'rnatish ishlarini olib borish mumkin, ya'ni OMD atamalarini qoilaydigan bo'lsak, usullar, maiumotlar a’zolarini o‘zgartirib, obyekt holatini modifikasiya qiladi.
Agarda muhandis ishlab chiqarish jarayonida rezistorni qoilasa, u buni yangidan ixtiro qilmavdi, omborga (do'konqa) borib mos para-
metrlarga muvofiq kerakli detalni tanlaydi. Bu holda muhandis joriy rezistor qanday tuzilganligiga e’tiborini qaratmaydi, rezistor faqatgina zavod xarakteristikalariga muvofiq ishlasa yetarlidir. Aynan shu tashqi konstruksiyada qo'llaniladigan yashirinlik yoki obyektni yashirinligi yoki avtonomligi xossasi inkapsulatsiya deyiladi.
Yana birmartatakrorlashjoizki, rezistorni samarali qollash uchun uning ishlash prinsipi va ichki qurilmalari haqidagi ma'lumotlarni bilish umuman shart emas. Rezistorning barcha xususiyatlari inkapsulatsiya qilingan, ya ni yashirilgan. Rezistorning faqatgina o‘z funksiyasini bajarishi yetarlidir.
Do'stlaringiz bilan baham: |