Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr




Download 6,33 Mb.
Pdf ko'rish
bet139/194
Sana20.02.2024
Hajmi6,33 Mb.
#159185
1   ...   135   136   137   138   139   140   141   142   ...   194
Inkapsulyatsiya 
Inkapsulyatsiya ma’lumotlar tiplari abstraksiya tiplaridan oldin keladi va ularni qo‘llab-
quvvatlaydi. Dastur o‘lchami bir necha ming qatorga yetganda 2 ta amaliy muammo paydo bo‘ldi. 
Dasturchilar nuqtai nazarida dasturga qism dasturlarning yagona to‘plami sifatida qarash dastur 
tashkil qilish, uni boshqarishning adekvat darajasini ta’minlaydi. Dasturni mantiqiy bog‘liq qism 
dasturlar va ma’lumotlarga ega bo‘lgan guruhlarini o‘z ichiga olgan sintaksik konteynerlarga bo‘lib, 
bu muammoni yechish mumkin. Bu sintaktik konteynerlar modullar deb ataladi, ularni qayta 
ishlash jarayoni modulyarizatsiya deyiladi. Katta dasturlar bilan bog‘liq bo‘lgan ikkinchi amaliy 
muammo takroriy kompilyatsiya muammosi. Kichchik dastur uchun xar bir modifikatsiyadan kiyin 
butun dasturni takroran kompilyatsiya qilish xech narsa emas. Biroq dasturning o‘lchami bir necha 
ming qatorgacha yetsa takroriy kompilyatsiyaning bahosi ancha katta bo‘ladi. Demak dastur 
o‘zgarmas qismlarining takroriy kompilyatsiyasiga yo‘l qo‘ymaslik usullarini topish kerak. Buni 
qilish uchun shunday ma’lumotlar va qism programmalar to‘plamidan iborat dastur tuzish kerakki 
ulardan har biri aloxida dasturni boshqa qismini takroriy kompilyatsiya qilmasdan alohida 
qismlarini olib qilish mumkin. Bunday to‘plam kompilyatsiya birligi deyiladi. 
Inkapsulyatsiya – bu qism dasturlarning va ular qayta ishlaydigan ma’lumotlarni yagona 
qilib birlashtirish usulidir. Aloxida kompilyatsiya qilinadigan yoki boshqa dasturlardan mustaqil 
bo‘lgan inkapsulyatsiya abstraksiya tizimining va to‘g‘ri keluvchi xisob-kitoblar yig‘indisini mantiqiy 
tashkil qilishning asosidir. Shundan kelib chiqadiki yuqorida ko‘rsatilgan ikkala muammoni ham 
inkapsulyatsiya yechadi.
Inkapsulyatsiyalarni ko‘pincha kutubxonalarga joylashtirishadi va ularni boshqa dasturlarda 
qayta qo‘llash uchun ochiq qoldiradilar. 
Dasturchilar o‘lchami bir necha ming bo‘lgan dasturlarni 40 yillardan buyon yozib keladilar, 
demakki inkapsulyatsiya yaratish texnikasi allaqachonlar rivojlanib ulgurgan.
Ko‘pgina algoritmik dasturlash tillarida ular qo‘llaydigan qism dasturlardan ancha yuqori 
darajada bo‘lgan qism dasturlar ko‘rinishida tashkil qilish mumkin. 4- mavzuda muhokama 
qilinganidek tasvir kontekstidan foydalanadigan dasturni tashkil qilish uslubi idealdan ancha uzoq. 
Bundan tashqari dasturlashning ayrim tillarda qism dasturlar kompilyatsiyasining birliklari 
hisoblanmaydi. Demakki ularni inkapsulyatsiya uchun mos konstruksiya deb atalmaymiz. 
FORTRAN 77 tilida qism dasturlarni fayllarga yeg‘ish, bir biridan mustaqil holda 
kompilyatsiya qilish va kutubxonalarga joylashtirish mumkin. COMMON - bloklar tavsiflari 
to‘plamlarni analogik tarzda qayta ishlash mumkin. Bu dasturlarning tashkil qilishning samarali 


Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
261 
usuli. Lekin bunday inkapsulyatsiyalarning ishlatishda interfeys tekshiruvi yo‘q. Shuning uchun
bunday yondashuv o‘z tabiyatiga ko‘ra xavfsiz emas.
C tilida ma’lumotlar tavsifi va o‘zaro bog‘liq funksiyalarni to‘plamlarini boshqa fayllardan 
mustaqil kompilatsiya qilingan boshqa faylga joylashtirish mumkin. C tili kompilyatorlari hozirgi 
paytda kerakli darajada ayrim funksiyalarning interfeysi to‘g‘riligini tekshirishiga qaramay ular hali 
ham boshqa fayllardagi ma’lumotlar aniqligini tekshirishni amalga oshirmaydi(“ Kerakli darajada 
aniq ” jumlasi ostida biz shunday funksiyalarni nazarda tutamizki ular ANCI S standartiga mos 
kelmaydigan funksiyalar sarlavhasidan foydalanmaydilar). Demak C fayllari ham xavfsiz 
inkapsulyatsiyani ta’minlay olmaydi. Ko‘pgina zamonaviy tillar , jumladan FORTRAN 90 va Ada qism 
dasturlar to‘plamlarini turlarini va ma’lumotlarini modullarga yig‘ish imkoniyatini beradi. Bu 
modullarni alohida kompilyatsiya qilish mumkin. Bunda shuni nazarda tutish kerakki ularni 
interfeysi haqidagi ma’lumotlar kompilyatorda interfeys tipini boshqa modulda ishlatilganda 
tekshirish uchun saqlanadi. Ko‘rib chiqilayotgan tillar shuningdek bu modular asosini boshqarish 
mexanizmiga ega. Bu esa modulga tashqi modullarga ko‘rinarli bo‘lgan ayrim tiplarni o‘zida aks 
ettirish imkoniyatini beradi. Bunda bu tiplarni namoyish etish boshqa mohiyatlar uchun faqat 
modul ichida mumkin. Bu modullar a’lo darajadagi inkapsulyatsiyani ta’minlaydi . Ular faqatgina 
dasturning aniq va mantiqiy tashkil qilishi qo‘llab-quvvatlab qolmasdan balki bu dasturiy tuzilmani 
dasturchilar uchun tushunarli qiladi. 
SIMULA 67, Ada va S++ tillaridagi inkapsulyatsiyani ta’minlash vositalarini o‘ziga hos 
hususiyatlari ma’lumotlar abstract tiplari bilan birga 5 qismida muhokama qilinadi. 

Download 6,33 Mb.
1   ...   135   136   137   138   139   140   141   142   ...   194




Download 6,33 Mb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr

Download 6,33 Mb.
Pdf ko'rish