3-Ma`ruza: Obyektga yo`naltirilgan dasturlash tillari Reja: Obyektga Yo`naltirilgan yondashuv tarixi


Joriy qilishni yashirish yordamida sirlarni yashirish



Yüklə 41,12 Kb.
səhifə5/10
tarix17.04.2023
ölçüsü41,12 Kb.
#105960
1   2   3   4   5   6   7   8   9   10
3-maruza

Joriy qilishni yashirish yordamida sirlarni yashirish
Abstraksiya samarali inkapsulatsiyalashning tarkibiy qismlaridan biri, xolos. Tashqi ta`sirlardan mutlaqo himoyalanmagan abstrakt dasturni ham yozish mumkin. Aynan shuning uchun obyektning ichki joriy qilinishini berkitish kerak bo`ladi.
Joriy qilishning berkitilganligi
Joriy qilishning berkitilganligi ikkita afzallikka ega:

  • obyektlarni foydalanuvchilardan himoyalaydi;

  • foydalanuvchilarni obyektlardan himoyalaydi.

Birinchi afzallik — obyektlarni himoyalashni ko`rib chiqamiz.
Asl inkapsulatsiyalash til darajasida qurilma til konstruksiyalari yordamida ta`minlanadi.
Ma`lumotlarning abstrakt turlari — bu ma`lumotlar va ular ustida o`tkaziladigan operatsiyalar to`plami.
Ma`lumotlarning abstrakt turlari ichki axborot va holatni puxta ishlab chiqilgan interfeys ortida yashirar ekan, ular tilda ma`lumot­larning yangi turlarini aniqlashga imkon beradi. Bunday interfeysda ma`lumotlarning abstrakt turlari bo`linmas butunlik sifatida taqdim etilgan. Ma`lumotlarning abstrakt turlari inkapsulatsiyalashni qo`llashni osonlashtiradi, chunki ular tufayli inkapsulatsiyalashni vorisliksiz va polimorfizmsiz qo`llash mumkin, bu esa inkap- sulatsiyalashning aynan o`ziga diqqatni qaratish imkonini beradi. Ma`lumotlarning abstrakt turlari, shuningdek, tur tushunchasining qo`llanishini ham osonlashtiradi. Agar tur nima ekanini anglab olsak, bu holda obyektga Yo`naltirilgan yondashuv ixtisoslashtirilgan foydalanuvchilik turlari yordamida tilni kengaytirishning tabiiy usulini taklif qilayotganini oson sezib olish mumkin.
Dasturlashda qator o`zgaruvchilar yaratiladi va ularga qiymatlar beriladi. Turlar yordamida dastur uchun qulay bo`lgan turli ko`rinishdagi qiymatlar aniqlanadi. Shunday qilib, turlar dastur komponentlaridan biri deb aytish mumkin bo`ladi. Oddiy turlarga misol sifatida butun, uzun va suzuvchi turlarni keltirish mumkin. O`zgaruvchining turi ushbu o`zgaruvchi qanday qiymatlarni olishi va uning ustida qanday operatsiyalarni bajarish mumkinligini belgilab beradi.
Turlar dasturda qo`llash mumkin bo`lgan o`zgaruvchilar turini aniqlab beradi. Ushbu turdagi o`zgaruvchi qanday yo`l qo`yiladigan qiymatlarga ega bo`lishi mumkinligini tur belgilab beradi. Tur nafaqat yo`l qo`yiladigan qiymatlar sohasini, balki ushbu o`zgaruvchi ustida qanday operatsiyalarni bajarish mumkinligi, shuningdek, olinadigan natijalar qanday turda bo`lishligini ham belgilab beradi.
Turlar — hisoblarda bir butunlik sifatida amal qiladigan narsa. Masalan, butun sonni olaylik. Ikkita butun sonni qo`shar ekansiz, garchi bu sonlar kompyuter xotirasida bitlar ko`rinishida namoyon bo`lsa-da, siz bitlar ustidagi operatsiyalar haqida bosh qotirib o`tirmaysiz. Joriy etish berkitilgan bo`lgani tufayli, obyekt ko`zda tutilmagan va destruktiv (tuzilmani buzadigan) foydalanishdan himoyalangan bo`ladi. Bu joriy qilish berkitilganligining afzalliklaridan biridir. Biroq joriy qilishning berkitilganligi obyektlardan foydalanuvchilar uchun ham muhim.
Joriy qilishning berkitilganligi dasturni moslashuvchan qiladi, chunki foydalanuvchilar obyektning joriy qilinishini hisobga olishga majbur emaslar. Shunday qilib, joriy qilishning berkitilganligi nafaqat obyektni himoyalaydi, balki kuchsiz bog`langan kodni yaratishga yordam berib, ushbu obyektdan foydalanuvchilar uchun muayyan noqulayliklarni chetlab o`tish imkonini beradi.
Kuchsiz bog`langan kod — bu boshqa komponentlarning joriy qilinishiga bog`liq bo`lmagan kod.
Kuchli bog`langan kod yoki bevosita aloqalarga ega kod — bu boshqa komponentlarning joriy qilinishi bilan uzviy bog`liq bo`lgan kod.
Inkapsulatsiyalash va joriy qilinishning berkitilganligi — mo`jiza emas. Interfeys o`zgartirilganda, eski interfeysga bog`liq bo`lgan eski kodni ham o`zgartirish kerak bo`ladi. Agar dasturni yozishda detallar interfeysda berkitilgan bo`lsa, buning natijasida kuchsiz bog`langan dastur yuzaga keladi.
Kuchli bog`langan dasturda inkapsulatsiyalashning afzalliklari yo`qoladi: mustaqil va takroran qo`llanadigan obyektlarning yaratilishi mumkin bo`lmaydi.
Joriy qilishning berkitilganligi o`z kamchiliklariga ham ega. Ba`zida interfeys yordamida olish mumkin bo`lganidan ko`proq axborot kerak bo`lib qoladi. Dasturlar olamida ma`lum aniqlik bilan, ya`ni ma`lum bir to`g`ri keladigan razryadlar miqdori bilan ishlaydigan qora qutilar kerak. Masalan, shunday vaziyat yuz berishi mumkinki, sizga 64 bitli butun sonlar kerak bo`lib qoladi, chunki siz juda katta sonlar ustida amallar bajaryapsiz. Interfeysni belgilashda uni taqdim etishgina emas, balki joriy qilishda qo`llangan turlarning o`ziga xos tomonlarini hujjatlashtirish ham g`oyat muhimdir. Biroq, ommaviy interfeysning har qanday boshqa qismi kabi, xulq-atvorni belgilagandan so`ng uni o`zgartirib bo`lmaydi.
Joriy qilishni berkitib, mustaqil, boshqa komponentlar bilan kuchsiz bog`langan dasturni yozish mumkin. Kuchsiz bog`langan dastur mustahkamroq bo`ladi, bundan tashqari uni modifikatsiya qilish ham osonroq. Bular tufayli esa uni takroran qo`llash va takomillashtirish oson kechadi, chunki tizimning bitta qismidagi o`zgarishlar uning boshqa mustaqil qismlariga ta`sir qilmaydi.

Yüklə 41,12 Kb.

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




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

    Ana səhifə