Ob’ektga yo’naltirilgan dasturlashga kirish (Introduction of Object Oriented Programming)

Ismigul Akhmatova
5 min read1 day ago

--

Nomidan ko’rinib turibdiki, ob’ektga yo’naltirilgan dasturlash yoki OOPlar dasturlashda ob’ektlardan foydalanadigan tillarni anglatadi. Ob’ektga yo’naltirilgan dasturlash dasturlashda meros(inheritance,), yashirish(hiding), polimorfizm(polymorphism) va boshqalar kabi real dunyo ob’ektlarini amalga oshirishga qaratilgan. OOP ning asosiy maqsadi ma’lumotlar va ularda ishlaydigan funktsiyalarni bir-biriga bog’lashdir, shunda kodning boshqa hech bir qismi ushbu funktsiyadan tashqari ushbu ma’lumotlarga kira olmaydi.

OOP tushunchalari:

> Sinf(Class)
> Ob’ektlar(Objects)
> Ma’lumotlarni abstraktsiya qilish(Data Abstraction)
> Inkapsulyatsiya(Encapsulation)
> Meros(Inheritance)
> Polimorfizm(Polymorphism)
> Dinamik ulanish(Dynamic Binding)
> Xabar uzatish(Message Passing)

  1. Sinf(Class):

Sinf foydalanuvchi tomonidan belgilangan ma’lumotlar turidir. U ma’lumotlar a’zolari va a’zo funktsiyalaridan iborat bo’lib, ularga kirish va shu sinfning namunasini yaratish orqali foydalanish mumkin. U bir turdagi barcha ob’ektlar uchun umumiy bo’lgan xususiyatlar yoki usullar to’plamini ifodalaydi. Sinf ob’ekt uchun chizmaga o’xshaydi.

Misol uchun: Avtomobillar sinfini ko’rib chiqing. Turli nomlar va markalarga ega bo’lgan ko’plab avtomobillar bo’lishi mumkin, ammo ularning barchasi bir nechta umumiy xususiyatlarga ega bo’ladi, chunki ularning barchasida 4 ta g’ildirak, Tezlik chegarasi, Mileage diapazoni va boshqalar bo’ladi. Shunday qilib, bu erda, Avtomobil sinfi va g’ildiraklar, tezlik chegaralari, kilometr ularning xossalari hisoblanadi.

2.Ob’ektlar(Objects) :

Bu ob’ektga yo’naltirilgan dasturlashning asosiy birligi bo’lib, real hayot ob’ektlarini ifodalaydi. Ob’ekt sinfning namunasidir. Sinf aniqlanganda, xotira ajratilmaydi, lekin u yaratilganda (ya’ni ob’ekt yaratilganda) xotira ajratiladi. Ob’ektning o’ziga xosligi, holati va xatti-harakati mavjud. Har bir ob’ektda ma’lumotlar va ma’lumotlarni manipulyatsiya qilish uchun kod mavjud. Ob’ektlar bir-birining ma’lumotlari yoki kodlari tafsilotlarini bilmasdan o’zaro ta’sir qilishi mumkin, qabul qilingan xabar turini va ob’ektlar tomonidan qaytarilgan javob turini bilish kifoya.

Masalan, “It” haqiqiy hayotdagi ob’ekt bo’lib, u rang, zot, qobiq, uyqu va ovqatlanish kabi ba’zi xususiyatlarga ega.

3.Ma’lumotlarni abstraktsiya qilish(Data Abstraction)

Ma’lumotlarni abstraktsiyalash ob’ektga yo’naltirilgan dasturlashning eng muhim va muhim xususiyatlaridan biridir. Ma’lumotlarning abstraktsiyasi tashqi dunyoga ma’lumotlar to’g’risida faqat muhim ma’lumotlarni taqdim etish, fon tafsilotlarini yoki amalga oshirishni yashirishni anglatadi. Mashina haydagan odamning hayotiy misolini ko’rib chiqing. Erkak faqat gazni bosish mashina tezligini oshirishini yoki tormozni bosish mashinani to’xtatib qo’yishini biladi, lekin u gazni bosganda tezlik qanday oshib borayotganini bilmaydi, u mashinaning ichki mexanizmi haqida bilmaydi. yoki avtomobilda tezlatkich, tormoz va hokazolarni amalga oshirish. Bu mavhumlikdir.

4.Inkapsulyatsiya(Encapsulation)

nkapsulyatsiya ma’lumotlarni bitta birlik ostida yig’ish deb ta’riflanadi. Bu kod va u boshqaradigan ma’lumotlarni birlashtiradigan mexanizm. Inkapsulyatsiyada sinfning o’zgaruvchilari yoki ma’lumotlari boshqa sinfdan yashiringan va ularga faqat ular e’lon qilingan sinfining istalgan a’zo funktsiyasi orqali kirish mumkin. Inkapsulyatsiyada bo’lgani kabi, sinfdagi ma’lumotlar boshqa sinflardan yashiringan, shuning uchun u ma’lumotlarni yashirish deb ham ataladi.

Inkapsulyatsiyaning haqiqiy hayotiy misolini ko’rib chiqing, kompaniyada hisoblar bo’limi, moliya bo’limi, savdo bo’limi va boshqalar kabi turli bo’limlar mavjud. Moliya bo’limi barcha moliyaviy operatsiyalarni boshqaradi va moliya bilan bog’liq barcha ma’lumotlarni qayd qiladi. Xuddi shunday, savdo bo’limi savdo bilan bog’liq barcha faoliyatlarni boshqaradi va barcha sotuvlarning yozuvlarini saqlaydi. Endi shunday vaziyat yuzaga kelishi mumkinki, qandaydir sabablarga ko’ra moliya bo’limining mansabdor shaxsiga ma’lum bir oydagi savdo to’g’risidagi barcha ma’lumotlar kerak bo’ladi. Bunday holda, u savdo bo’limi ma’lumotlariga bevosita kirish huquqiga ega emas. U birinchi navbatda savdo bo’limidagi boshqa ofitser bilan bog’lanishi va keyin undan ma’lum ma’lumotlarni berishini so’rashi kerak. Bu inkapsulyatsiya. Bu erda savdo bo’limi ma’lumotlari va ularni boshqarishi mumkin bo’lgan xodimlar “savdo bo’limi” bitta nom ostida o’ralgan.

5.Meros(Inheritance)

Meros OOP (ob’ektga yo’naltirilgan dasturlash) ning muhim ustunidir. Sinfning boshqa sinfdan xossa va xususiyatlarni olish qobiliyati meros deb ataladi. Biz sinfni yozganimizda, biz boshqa sinflardan xususiyatlarni meros qilib olamiz. Shunday qilib, biz sinf yaratganimizda, barcha xususiyatlar va funktsiyalarni qayta-qayta yozishimiz shart emas, chunki ular unga ega bo’lgan boshqa sinfdan meros bo’lishi mumkin. Meros foydalanuvchiga kodni iloji boricha qayta ishlatish va uning ortiqchaligini kamaytirish imkonini beradi.

6. Polimorfizm(Polymorphism)

Polimorfizm so’zi ko’p shakllarga ega bo’lishni anglatadi. Oddiy so’zlar bilan aytganda, biz polimorfizmni xabarning bir nechta shaklda ko’rsatilishi qobiliyati sifatida belgilashimiz mumkin. Masalan, odam bir vaqtning o’zida turli xil xususiyatlarga ega bo’lishi mumkin. Odam kabi bir vaqtning o’zida ota, er, xodim. Shunday qilib, bir odam turli vaziyatlarda turli xil xatti-harakatlarga ega. Bunga polimorfizm deyiladi.

7. Dinamik ulanish(Dynamic Binding)

Dinamik ulanishda funksiya chaqiruviga javoban bajariladigan kod ish vaqtida hal qilinadi. Dinamik bog’lanish ma’lum bir protsedura chaqiruvi bilan bog’liq bo’lgan kod qo’ng’iroqning bajarilish vaqtigacha ma’lum emasligini anglatadi. Dinamik usul bilan bog’lash Merosning asosiy afzalliklaridan biri shundaki, ba’zi olingan D sinf o’zining asosiy B sinfining barcha a’zolariga ega. Agar D B ning umumiy a’zolarini yashirmasa, D ob’ekti istalgan kontekstda B ni ifodalashi mumkin. Bu erda B dan foydalanish mumkin. Bu xususiyat subtipli polimorfizm deb nomlanadi.

8.Xabar uzatish(Message Passing)

Bu ob’ektga yo’naltirilgan dasturlashda, shuningdek parallel dasturlashda qo’llaniladigan aloqa shaklidir. Ob’ektlar bir-biriga ma’lumot yuborish va qabul qilish orqali bir-biri bilan aloqa qiladi. Ob’ekt uchun xabar protsedurani bajarish uchun so’rovdir va shuning uchun qabul qiluvchi ob’ektda kerakli natijalarni yaratuvchi funktsiyani chaqiradi. Xabarni uzatish ob’ekt nomini, funksiya nomini va yuboriladigan ma’lumotni ko’rsatishni o’z ichiga oladi.

Nima uchun bizga ob’ektga yo’naltirilgan dasturlash kerak?

> Loyihalarni ishlab chiqish va texnik xizmat ko’rsatishni osonlashtirish uchun.
> Xavfsizlik nuqtai nazaridan yaxshi bo’lgan ma’lumotlarni yashirish xususiyatini ta’minlash.
> Agar biz ob’ektga yo’naltirilgan dasturlashdan foydalansak, biz haqiqiy muammolarni hal qila olamiz.
> Bu kodning qayta ishlatilishini ta’minlaydi.
> Bu bizga umumiy kodni yozish imkonini beradi: u bir qator ma’lumotlar bilan ishlaydi, shuning uchun biz asosiy narsalarni qayta-qayta yozishimiz shart emas.

Foydalanilgan adabiyotlar:

--

--

No responses yet