Ushbu maqola orqali siz Obyektga yo’naltirilgan dasturlash nima ekanligini va uni qanday o’rganish mumkinligi haqida ma’lumotlarga ega bo’lasiz!
Obyektga yo’naltirilgan dasturlash – bu funksiyalar yoki mantiq emas, balki obyektlar va ma’lumotlar o’rtasida o’zaro aloqa qiluvchi patternlar to’plamidir. Boshqacha qilib aytganda, ma’lumotlar hamda mantiq obyektlarga kiritilgan va obyektga yo’naltirilgan dasturlash katta dasturlarni kichikroq, shuningdek, qayta foydalanish mumkin bo’lgan qismlarga ajratishga yordam beradi. Obyektga yo’naltirilgan dasturlash tillariga C#, Java, Python, C++, Visual Basic.Net va JavaScript kiradi. Apple asoschisi Stiv obyektga yo’naltirilgan dasturlash haqida quyidagicha tushuntiradi.
Nima Uchun Bizga Obyektga Yo’naltirilgan Dasturlash Kerak
Obyektga yo’naltirilgan dasturlash fikrlash jarayoniga va ularni manipulyatsiya qilish uchun zarur bo’lgan mantiqqa emas, balki ishlab chiaruvchining manipulyatsiya qilmoqchi bo’lgan narsani amalga oshirishiga qaratilgan bo’ladi.
Obyektga Yo’naltirilgan Dasturlashning Afzalliklari
- Masshtabli va yangilanishi mumkin – barcha ma’lumotlarni bir joyda saqlash mumkin.
- Xavfsizlik – inkapsulyatsiya va abstraktsiya yordamida murakkab kod yashiringan bo’ladi, texnik xizmat ko’rsatish osonroq va protokollar himoyalangan.
- Samaradorlik — kodni saqlash va qayta foydalanishni osonlashtiradi.
- Modullilik – inkapsulyatsiya obyektlarni avtomatik ravishda saqlashga imkon beradi hamda hamkorlik va muammolarni bartaraf etish uchun aniq modulli tuzilmani ta’minlaydi.
- Qayta foydalanish imkoniyati – komponentlar qayta ishlatilishi mumkin, bir xil kod bir necha marta moslashtirilishi va o’zgartirilishi mumkin.
Obyektga Yo’naltirilgan Dasturlashning Asosiy Tamoyillari
Abstraktsiya: Siz velosiped haydashni bilasizmi? Buni qanday qilasiz? Bu juda oddiy jarayon. Siz shunchaki pedalni aylantirishni boshlaysiz va velosiped ishga tushadi. Agar tezroq haydashni istasangiz, oyoqlaringiz harakatini tezlashtirasiz. Mabodo to’xtashni yoki tezlikni pasaytirishni xohlasangiz pedalni orqaga burasiz. Faqat shu ko’nikmalar orqali siz velosiped haydashni bemalol uddalaysiz. Demak, velosiped haydash uchun uning barcha qismlarining nomlarini bilishingiz kerakmi? Yo’q, siz texnik bilimsiz velosipedni haydashingiz mumkin. Bu aynan – Abstraktsiya, ya’ni oddiygina muhim tafsilotlarni aytib berish va orqa fon tafsilotlarini yashirish jarayonidir. Obyektlar faqat boshqa obyektlardan foydalanish uchun tegishli bo’lgan ichki mexanizmlarni ochib beradi, keraksiz kodlarni esa yashiradi.
Inkapsulyatsiya: Hech qattiq shamollaganmisiz? Sizning shifokoringiz tabletka tiniq, ammo ichidagi mayda granulalarni ko’rishingiz mumkin bo’lgan dori-darmonlarni buyurganmi? Bu inkapsulyatsiyadir. Ushbu tamoyil barcha muhim ma’lumotlar obyekt ichida joylashganligini va faqat tanlangan ma’lumotlarning ochiqligini bildiradi. Inkapsulyatsiyada ma’lumotlar uning ichida saqlanadi. Kapsulaning afzalligi shundaki, u ichidagi tarkibni har qanday tashqi noto’g’ri foydalanish va shikastlanishdan saqlaydi. Inkapsulyatsiya – bu ma’lumotlarni manipulyatsiya qiluvchi va ularni tashqi aralashuvlardan himoya qiluvchi ma’lumotlar hamda funksiyalarni bir-biriga bog’lash jarayonidir.
Polimorfizm: Bu xabarni bir nechta shakllarda ko’rsatish qobiliyati. Oilangizdagi rolingiz haqida o’ylab ko’ring. Siz qiz, ona, rafiq yoki xolavachchamisiz? Vaziyatga qarab, siz bir vaqtning o’zida turli rollardasiz. Bu polimorfizm, obyektning ko’p shakllarni olish qobiliyati. Obyektlar xatti-harakatlarni almashish uchun mo’ljallangan bo’ladi va ular bir nechta shakllarni olishlari mumkin, shuning uchun kodni takrorlash zaruratini kamaytiradi. Agar siz ushbu so’zni ajratsangiz, ushbu ma’nolarni bildiradi: poli: ko’p, morfizm: shakllar.
Meros – obyektga yo’naltirilgan dasturlash tillarining asosiy tushunchalaridan biridir. Meros – dasturchilar ishini optimallashtirish uchun mo’ljallangan hisoblanadi. Ushbu optimallashtirishda merosning roli dasturiy ta’minot muhandislariga sinflar ierarxiyasini yaratishga imkon berishdir.
Ilgari sizga dori yozib bergan shifokorni eslaysizmi? Biroq siz ularni qabul qilgach ham yaxshilanmadingiz, shuning uchun shifokoringiz kasalligingiz bo’yicha boshqa mutaxassisga murojaat qilishingiz kerakligini aytadi. Odatda barcha shifokorlar bir xil tayyorgarlikdan o’tadi, keyin ular o’zlarining ixtisoslashtirilgan ta’lim yo’nalishlariga ajraladilar. Barchasi shifokorlar, lekin turli darajadagi ta’limni olishadi. Meros – bu bir sinfning boshqa sinf bilan bog’lanish qobiliyati, xuddi odamlar bir-biriga bog’langan bo’lishidek.
Nima Uchun Obyektga Yo’naltirilgan Dasturlash Muhim?
Masshtablilik, unumdorlik, qayta foydalanish mumkinligi, axborotni himoyalash va boshqalar obyektga yo’naltirilgan dasturlashning afzalliklari hisoblanadi. Quyidagi rasmlardagi elementlardan qaysi birini qurish, o‘zgartirish va yaratish osonroq?
Agar siz Lego qal’asini taxmin qilgan bo’lsangiz, albatta, siz haqsiz. Chunki aynan Lego strukturasini yaratishda obyektga yo’naltirilgan dasturlash yondashuvi qo’llanilganligi sababli, u osongina o’zgartiriladi. Ammo Plyajdagi qum qal’ani suv, odamlar va boshqa elementlar tufayli saqlash va o’zgartirish ancha qiyinroq bo’ladi.
Obyektga Yo’naltirilgan Dasturlashni Qanday O’rganish Mumkin?
Shunday qilib, obyektga yo’naltirilgan dasturlash – bu tashkil etish va vaqtni tejashdir. Obyektga yo’naltirilgan dasturlash yordamida siz yirik dasturlarni juda kichikroq kod bo’laklariga bo’lishingiz mumkin va uzoq muddatga vaqtni tejash uchun kod bo’limlarini qayta ishlatishingiz ham mumkin. Obyektga yo’naltirilgan dasturlash sizning kompyuteringiz uchun ancha foydali vositadir va undan foydalanish sizga yuqorida sanab o’tilgan ko’p jihatlar sababli samarali bo’lishi mumkin.
Foydalanilgan manba:
- https://www.udacity.com/blog/2022/05/object-oriented-programming-a-breakdown-for-beginners.html
Eng ko’p o’qilgan maqolalar