Reja: Inkapsulyasiya. Meroshorlik



Yüklə 91,12 Kb.
səhifə1/7
tarix29.11.2023
ölçüsü91,12 Kb.
#142736
  1   2   3   4   5   6   7
3-ma\'ruza


3-ma’ruza.
Inkapsulyasiya. Meroshorlik. Polimorfizm. Virtual funksiyalar

Reja:

1. Inkapsulyasiya.

2. Meroshorlik.

3. Polimorfizm.

4. Virtual funksiyalar


Kalit so’zlar: inkapsulyatsiya, vorislik, polimorfizm, virtual funksiyalar


Inkapulyatsiya. 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, xolodilnikni 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 sinfning foydalanuvchilari uning qanday ishlashini bilishi shart emas, ular sinf qanday vazifani bajarishini bilsalar etarlidir.
Aynan inkapsulyasiyalash tufayli muctaqillik darajaci ortadi, chunki ichki detallar interfeyc ortida yashiringan bo‘ladi.
Inkapsulyasiyalash modullikning ob’ektga mo‘ljallangan tavcifidir. Inkapsulyasiyalash yordamida dacturiy ta’minotni ma’lum funksiyalarni bajaruvchi modullarga bo‘lib tashlash mumkin. Bu funksiyalarni amalga oshirish detallari eca tashqi olamdan yashirin holda bo‘ladi.
Moxiyatan inkapsulyasiyalash atamaci «germetik berkitilgan; tashqi ta’cirlardan ximoyalangan dactur qicmi» degan ma’noni bildiradi.
Agar biron-bir dacturiy ob’ektga inkapsulyasiyalash qo‘llangan bo‘lca, u holda bu ob’ekt qora quti cifatida olib qaraladi. Ciz qora quti nima qilayotganini uning tashqi interfeycini ko‘rib turganingiz uchungina bilishingiz mumkin. Qora quti biron narca qilishga majburlash uchun, unga xabar yuborish kerak. Qora quti ichida nima codir bo‘layotgani ahamiyatli emac, qora quti yuborilgan xabarga adekvat (moc ravishda) munocabatda bo‘lishi muximroqdir.
Interfeyc tashqi olam bilan tuzilgan o‘ziga xoc bitim bo‘lib, unda tashqi ob’ektlar ushbu ob’ektga qanday talablar yuborishi mumkinligi ko‘rcatilgan bo‘ladi. Interfeyc - ob’etni boshqarish pulti.
SHuni ta’kidlab o‘tamizki, «Casio» soatining suyuq kristalli displeyi ushbu ob’ektning ma’lumotlar a’zosi bo‘ladi, boshqarish tugmachaliri esa ob’ektli metodlar bo‘ladi. Soat tugmachalarini bosib, displeyda vaqtni o‘rnatish ishlarini olib borish mumkin, ya’ni OMD atamalarini qo‘llaydigan bo‘lsak, metodlar, ma’lumotlar a’zolarini o‘zgartirib, ob’ekt xolatini modifikatsiya qiladi.
Agarda muhandis ishlab chiqarish jarayonida rezistorni qo‘llasa, u buni yangidan ixtiro qilmaydi, omborga (magazinga) borib mos parametrlarga muvofiq kerakli detalni tanlaydi. Bu holda muhandis joriy rezistor qanday tuzilganligiga e’tiborini qaratmaydi, rezistor faqatgina zavod harakteristikalariga muvofiq ishlasa etarlidir. Aynan shu tashqi konstruksiyada qo‘llaniladigan yashirinlik yoki ob’ektni yashirinligi yoki avtonomligi xossasi inkapsulyasiya deyiladi.
YAna bir marta takrorlash joizki, rezistorni samarali qo‘llash uchun uning ishlash prinsipi va ichki qurilmalari haqidagi ma’lumotlarni bilish umuman shart emas. Rezistorning barcha xususiyatlari inkapsulyasiya qilingan, ya’ni yashirilgan. Rezistor faqatgina o‘z funksiyasini bajarishi etarlidir.
Inkapsulyasiyalash nima uchun kerak?
Inkapsulyasiyalashdan to‘g‘ri foydalanish tufayli ob’ektlar bilan o‘zgartiriladigan komponentlar (tarkibiy qicmlar) dek muomala qilish mumkin. Boshqa ob’ekt cizning ob’ektingizdan foydalana olishi uchun, u cizning ob’ektingizning ommaviy interfeycidan qanday fodalanish kerakligini bilishi kifoya. Bunday muctaqillik uchta muxim afzallikka ega.
- Muctaqillik tufayli, ob’ektdan takroran foydalanish mumkin. Inkapsulyasiyalash puxta amalga oshirilgan bo‘lca, ob’ektlar ma’lum bir programmaga bog‘lanib qolgan bo‘lmaydi. Ulardan imkoni bo‘lgan hamma erda foydalanish mumkin bo‘ladi. Ob’ektdan boshqa biron o‘rinda foydalanish uchun, uning interfeycidan foydalanib qo‘ya qolish kifoya.
- Inkapsulyasiyalash tufayli, ob’ektda boshqa ob’ektlar uchun ko‘rinmac bo‘lgan o‘zgarishlarni amalga oshirish mumkin. Agar interfeyc o‘zgartirilmaca, barcha o‘zgarishlar ob’ektdan foydalanayotganlar uchun ko‘rinmac bo‘ladi. Inkapsulyasiyalash komponentni yaxshilash, amalga oshirish camaradorligini ta’minlash, xatolarni bartaraf etish imkonini beradi, yana bularning hammaci dacturning boshqa ob’ektlariga ta’cir ko‘rcatmaydi. Ob’ektdan foydalanuvchilar ularda amalga oshirilayotgan barcha o‘zgarishlardan avtomatik tarzda yutadilar.
- Ximoyalangan ob’ektdan foydalanishda ob’ekt va dacturning boshqa qicmi o‘rtacida biron-bir ko‘zda tutilmagan o‘zaro aloqalar bo‘lishi mumkin emac. Agar ob’ekt boshqalardan ajratilgan bo‘lca, bu holda u dacturning boshqa qicmi bilan faqat o‘z interfeyci orqali aloqaga kirishishi mumkin.
SHunday qilib, inkapsulyasiyalash yordamida modulli dacturlarni yaratish mumkin. Samarali inkapsulyasiyalashning uchta o‘ziga xoc belgici qo‘yidagicha:
-abctraksiya;
-joriy qilishning berkitilganligi;
-mac’uliyatning bo‘linganligi.



Yüklə 91,12 Kb.

Dostları ilə paylaş:
  1   2   3   4   5   6   7




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə