C# Kortejlar C# kartejlarni e’lon qilish


C# tilida inkapsulyaciya va abstrakt ma’lumotlar arosidagi farq


Download 260.19 Kb.
bet16/28
Sana18.06.2023
Hajmi260.19 Kb.
#1574109
1   ...   12   13   14   15   16   17   18   19   ...   28
Bog'liq
dasturlash tyorya 8 shrift

43.1. C# tilida inkapsulyaciya va abstrakt ma’lumotlar arosidagi farq.
Inkapsulyatsiya - kerakli interfeyslarni ochishda tizimning ayrim qismlariga kirishni yashirish va/yoki cheklash.Abstraksiya - muayyan voqeliklar, aniq ob'ektlar yoki real misollardan tashqari, ma'lum xususiyatlarga ega bo'lgan narsalarni ko'rib chiqish va shu bilan murakkabliknikamaytiradi.Asosiy o'xshashlik shundaki, bu usullar tushunish va foydalilikni yaxshilashga qaratilgan.Asosiy farq shundaki, abstraktsiya narsalarni soddaroq tasvirlash vositasidir (ko'pincha tasvirni yanada kengroq qo'llash uchun), inkapsulyatsiya esa boshqa narsalarning biror narsa bilan o'zaro ta'sirini o'zgartirish usulidir.InkapsulyatsiyaMana, narsalarni aniqlaydigan inkapsulyatsiya misoli:Bu erda izda Arduino Uno va Arduino Uno avjud. Nesting - bu inkapsulyatsiya nima ekanligi haqida ajoyib fikr.Inkapsulyatsiyaning maqsadi - ayrim komponentlarni tashqi ta'sirlardan va bilimlardan himoya qilish va boshqa ob'ektlar o'zaro ta'sir qilishi kerak bo'lgan komponentlarni ochib berish. Dasturlash nuqtai nazaridan, bu ma'lum o'zgaruvchilar va/yoki xususiyatlarni o'qish va yozish darajasini o'zgartiradigan kirish modifikatorlari orqali ma'lumotni yashirishni anglatadi.Ammo bundan tashqari, inkapsulyatsiya ushbu tashqi interfeyslarni yanada samaraliroq ta'minlashga qaratilgan. Bizning Arduino misolimizda bu chiroyli tugmalar va foydalanuvchining qurilma bilan o'zaro aloqasini sezilarli darajada soddalashtiradigan ekran bo'lishi mumkin.
43.2. Ular foydalanuvchiga qurilmaning xatti-harakatiga ta'sir qilish va uning ishlashi haqida foydali ma'lumotlarni olishning oddiy usullarinitaqdim etadi, aks holda bu juda murakkabroq bo'ladi.Dasturlashda bu turli komponentlarni bitta konstruktsiyaga guruhlashni o'z ichiga oladi, masalan function, classyoki object. Shuningdek, u ushbu konstruktsiyalar bilan o'zaro ta'sir qilish vositalarini, shuningdek ular haqida foydali ma'lumotlarni olish usullarini taqdim etishni o'z ichiga oladi. Inkapsulyatsiya dasturchilarga boshqa ko'plab qo'shimcha usullarda yordam beradi, hech bo'lmaganda yaxshilangan kodni saqlab qolish va sinovdan o'tkazish qobiliyati abstraksiya Bu erdagi boshqa ko'plab javoblar abstraktsiyani umumlashtirish sifatida belgilagan bo'lsa-da, men shaxsan bu ta'rifni noto'g'ri deb hisoblayman. Men umumlashtirish aslida abstraksiyaning o'ziga xos turi ekanligini ta'kidlayman, aksincha emas. Boshqacha qilib aytadigan bo'lsak, barcha umumlashmalar abstraksiyadir, ammo barcha abstraktsiyalar umumlashma bo'lishi shart emas.Men mavhumlik haqida shunday o'ylashni yaxshi ko'raman: Tasvirda daraxt bor deb ayta olasizmi? Katta ehtimol bilan bo'lardingiz. Ammo bu haqiqatan ham daraxtmi? Albatta, yo'q! Bu biz daraxt deb atashimiz mumkin bo'lgan narsaga o'xshash piksellar guruhidir. Aytishimiz mumkinki, bu haqiqiy daraxtning mavhumligi. E'tibor bering, daraxtning ba'zi vizual tafsilotlari o'tkazib yuborilgan. Bundan tashqari, u o'smaydi, suv iste'mol qilmaydi va kislorod ishlab chiqarmaydi. Qanday bo'lishi mumkin? bu sizning kompyuteringiz xotirasidagi baytlar bilan ifodalangan ekrandagi ranglar to'plamidir.Va bu erda mavhumlikning mohiyati. Bu narsalarni tushunish osonroq bo'lishi uchun narsalarni soddalashtirishning bir usuli. Sizning boshingizdan o'tadigan har bir fikr haqiqatning mavhumligidir. Sizning daraxt haqidagi aqliy tasviringiz bu JPEG-dan ko'ra haqiqiy daraxt emas.TreeDasturlashda biz o'sish, suv iste'moli va kislorod ishlab chiqarishni taqlid qilish usullari bilan sinf yaratish orqali o'z foydamiz uchun foydalanishimiz mumkin . Bizning yaratilishimiz haqiqiy daraxtlar haqidagi tajribamizni ifodalovchi narsa bo'ladi va faqat o'ziga xos simulyatsiyamiz uchun zarur bo'lgan elementlarni o'z ichiga oladi. Biz abstraksiyadan biror narsa haqidagi tajribamizni bayt va matematikada ifodalash usuli sifatida foydalanamiz.



Download 260.19 Kb.

Do'stlaringiz bilan baham:
1   ...   12   13   14   15   16   17   18   19   ...   28




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling