Va kommunikatsiyalarini rivojlantirish vazirligi muhammad al-xorazmiy nomidagi toshkent


Ma'lumotlarni abstraktsiya qilish



Download 464 Kb.
bet2/4
Sana01.06.2022
Hajmi464 Kb.
#624539
1   2   3   4
Ma'lumotlarni abstraktsiya qilish
Abstraksiya mazmunli ma'lumotlarni ajratib ko'rsatish va ahamiyatsiz ma'lumotlarni ko'rib chiqishdan chiqarib tashlashni anglatadi. OOP faqat ma'lumotlarning abstraktsiyasini (ko'pincha oddiygina "abstraktsiya" deb ataladi) ko'rib chiqadi, bu dasturning qolgan qismi uchun mavjud bo'lgan ob'ektning eng muhim xususiyatlari to'plamini nazarda tutadi.
Inkapsulyatsiya 
Inkapsulyatsiya - bu sinfda ular bilan ishlaydigan ma'lumotlar va usullarni birlashtirish imkonini beruvchi tizim xususiyati. Ba'zi tillar (masalan, C++ , Java yoki Ruby) inkapsulyatsiyani  yashirish bilan tenglashtiradi , ammo boshqalar (Smalltalk , Eiffel , OCaml) ikkalasini farqlaydi.
Meros 
Meros - qisman yoki to'liq qarzga olingan funksionallik bilan mavjud bo'lgan yangi sinfni tavsiflash imkonini beruvchi tizimning xususiyati. Siz meros qilib olgan sinf asosiy, ota-ona yoki yuqori sinf deb ataladi. Yangi sinf avlod, voris, bola yoki hosila sinfdir.
Polimorfizmning pastki turi 
Subtipli polimorfizm (OOPda oddiygina "polimorfizm" deb ataladi) tizimning xususiyati bo'lib, u bir xil interfeysga ega ob'ektlarni ob'ektning turi va ichki tuzilishi haqida ma'lumotsiz foydalanishga imkon beradi. Polimorfizmning yana bir turi - parametrik - OOPda umumiy dasturlash deyiladi .
Sinf
Sinf universal, murakkab ma'lumotlar turi bo'lib, u tematik jihatdan birlashtirilgan "maydonlar" (ko'proq elementar turdagi o'zgaruvchilar) va "usullar" (ushbu maydonlar bilan ishlash funktsiyalari) dan iborat, ya'ni ma'lumotlar ob'ekti modelidir. o'z tarkibini boshqarish uchun ichki va tashqi interfeyslar (maydon qiymatlari). Xususan, sinflarda ma'lum bir maydon bilan elementar operatsiyalar uchun javobgar bo'lgan bir yoki bir nechta ikkita juftlashtirilgan usullarning maxsus bloklari keng qo'llaniladi (qiymatni belgilash va o'qish interfeysi, getter - sozlagich ).) bu maydonga to'g'ridan-to'g'ri kirishni simulyatsiya qiladi. Bu bloklar "xususiyatlar" deb ataladi va o'z maydoniga xos nomda deyarli bir xildir (masalan, maydon nomi kichik harf bilan boshlanishi mumkin, lekin xususiyat nomi katta harf bilan boshlanishi mumkin). Sinfning interfeys xarakterining yana bir ko'rinishi shundan iboratki, mos keladigan o'zgaruvchini tayinlash orqali nusxalashda faqat interfeys ko'chiriladi, lekin ma'lumotlarning o'zi emas, ya'ni sinf mos yozuvlar ma'lumotlar turidir. Berilgan sinf tipidagi ob'ekt o'zgaruvchisi shu sinfning namunasi deyiladi. Shu bilan birga, ba'zi bir ijro tizimlarida dinamik ma'lumotlar turini identifikatsiya qilish orqali dasturni bajarish jarayonida sinf qandaydir ob'ekt bilan ham ifodalanishi mumkin .. Odatda, sinflar ob'ekt ma'lumotlarining yaxlitligini, shuningdek, ob'ektning tabiatiga va hal qilinayotgan vazifaga mos keladigan qulay va sodda interfeysni ta'minlaydigan tarzda ishlab chiqilgan. O'z navbatida, ob'ektlarning ob'ekt sohasi va ularning interfeyslarining yaxlitligi, shuningdek ularni loyihalashning qulayligi meros orqali ta'minlanadi.
Ob'ekt
Sinf namunasi yaratilganda paydo bo'ladigan hisoblash tizimining manzillar maydonidagi ob'ekt (masalan, kompilyatsiya natijalarini ishga tushirgandan so'ng va bajarish uchun manba kodini bog'lagandan keyin).
OOPda sinfning alohida kontseptsiyasining paydo bo'lishi tabiiy ravishda o'xshash xatti-harakatlarga ega ko'plab ob'ektlarga ega bo'lish istagidan kelib chiqadi. OOPdagi sinf dasturchi tomonidan yaratilgan sof mavhum ma'lumotlar turidir . Shu nuqtai nazardan, ob'ektlar ma'lum bir mavhum turdagi qiymatlardir va sinf ta'rifi qiymatlarning ichki tuzilishini va ushbu qiymatlar ustida bajarilishi mumkin bo'lgan operatsiyalar to'plamini belgilaydi. Sinf ierarxiyasining (va shuning uchun merosxo'rlikning) maqsadga muvofiqligi kodni qayta ishlatish talablaridan kelib chiqadi - agar bir nechta sinflar o'xshash xatti-harakatlarga ega bo'lsa, ularning tavsifini takrorlashning ma'nosi yo'q, umumiy qismni umumiy ota-sinfga ajratish yaxshiroqdir va bu sinflarning o'zlari tavsifida faqat turli elementlarni qoldiring.
Bir xil turdagi xabarlarni qayta ishlashga qodir bo'lgan turli sinf ob'ektlarini almashish zarurati polimorfizmni qo'llab-quvvatlashni talab qiladi - turli xil ob'ektlarni bir xil turdagi o'zgaruvchilarga yozish qobiliyati. Bunday sharoitda xabar jo'natuvchi ob'ekt adresatning qaysi sinfga tegishli ekanligini aniq bilmasligi mumkin va turli sinflar ob'ektlarini o'z ichiga olgan bir xil turdagi o'zgaruvchilarga yuborilgan bir xil xabarlar boshqa reaktsiyaga sabab bo'ladi.
Xabar almashinuvi tushunchasi alohida tushuntirishni talab qiladi . Dastlab (masalan, xuddi shu Smalltalk -da ) ob'ektlarning o'zaro ta'siri "haqiqiy" xabar almashinuvi, ya'ni maxsus xabar ob'ektini bir ob'ektdan ikkinchisiga o'tkazish sifatida taqdim etilgan. Ushbu model juda umumiydir. Bu, masalan, faol ob'ektlar yordamida parallel hisoblashni tavsiflash uchun juda mos keladi., ularning har biri o'z ijro chizig'iga ega va boshqalar bilan bir vaqtda ishlaydi. Bunday ob'ektlar o'zini alohida, butunlay avtonom hisoblash birliklari sifatida tutishi mumkin. Xabarlarni yuborish tabiiy ravishda polimorf o'zgaruvchilarga tayinlangan ob'ektlar tomonidan xabarlarni qayta ishlash masalasini hal qiladi - o'zgaruvchi qanday e'lon qilinganidan qat'i nazar, xabar o'zgaruvchiga tayinlangan ob'ekt tegishli bo'lgan sinf kodini qayta ishlaydi. Ushbu yondashuv Smalltalk , Ruby , Objective-C , Python dasturlash tillarida qo'llaniladi .
Biroq, xabar almashish mexanizmining umumiyligi yana bir jihatga ega - xabarning "to'liq huquqli" uzatilishi qo'shimcha xarajatlarni talab qiladi, bu har doim ham qabul qilinishi mumkin emas. Shuning uchun ko'pgina zamonaviy ob'ektga yo'naltirilgan dasturlash tillarida "xabarni usul chaqiruvi sifatida yuborish" tushunchasi qo'llaniladi - ob'ektlar tashqi tomondan kirish mumkin bo'lgan usullarga ega, ularning chaqiruvlari ob'ektlarning o'zaro ta'sirini ta'minlaydi. Ushbu yondashuv juda ko'p dasturlash tillarida, jumladan C++ , Object Pascal , Java , Oberon-2da qo'llanilgan.. Biroq, bu xabarlar endi mustaqil ob'ektlar emasligiga olib keladi va natijada, dasturlash imkoniyatlarini toraytiruvchi atributlarga ega emas. Ba'zi tillar bir vaqtning o'zida ikkala yondashuvning afzalliklarini ko'rsatadigan gibrid vakillikdan foydalanadi - masalan, CLOS , Python .

Download 464 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish