- Ob'yektga yo'naltirilgan dasturlash tamoyillari. Merosxo’rlik va polimorfizm

|
- Ob'yektga yo'naltirilgan dasturlash tamoyillari. Merosxo’rlik va polimorfizm
|
bet | 29/30 | Sana | 26.01.2024 | Hajmi | 0,97 Mb. | | #146384 |
Bog'liq PARADIGMA YN39- Ob'yektga yo'naltirilgan dasturlash tamoyillari. Merosxo’rlik va polimorfizm.
Ob'ektga yo'naltirilgan dasturlash (Object-oriented programming-OOP) - kodni tashkil qilish va tuzish uchun ob'ektlardan - sinflar misollaridan foydalanadigan dasturlash paradigmasi. U ma'lumotlarni qamrab oluvchi "ob'ektlar" tushunchasi atrofida aylanadi. OOP tamoyillari kodni tashkil etish, qayta foydalanish va texnik xizmat ko'rsatishni yaxshilashga qaratilgan. Ob'ektga yo'naltirilgan dasturlashning asosiy tamoyillari:
Inkapsulyatsiya (Encapsulation):
Ta'rif: Inkapsulyatsiya - bu ma'lumotlar (atributlar) va ma'lumotlarda ishlaydigan usullar (funktsiyalar) ni sinf deb nomlanuvchi yagona birlikka birlashtirish.
Maqsad: Bu ob'ektning ichki holatini yashirishga va unga to'g'ridan-to'g'ri kirishni cheklashga yordam beradi. Ma'lumotlarga kirish ob'ekt usullari orqali boshqariladi.
Abstraktsiya:
Ta'rif: Abstraksiya murakkab tizimlarni ular baham ko'radigan muhim xususiyatlar va xatti-harakatlarga asoslangan sinflarni modellashtirish orqali soddalashtirishni o'z ichiga oladi.
Maqsad: Bu ishlab chiquvchilarga keraksiz murakkabliklarni e'tiborsiz qoldirib, ob'ektning tegishli tafsilotlariga e'tibor qaratish imkonini beradi. Abstraktsiya tizimning murakkabligini boshqarishga yordam beradi va dizayndagi ravshanlikni ta'minlaydi.
Merosxo’rlik, meros olish:
Ta'rif: Meros - bu yangi sinfga (quyi sinf yoki olingan sinf) mavjud sinfning (supersinf yoki asosiy sinf) xususiyatlari va xatti-harakatlarini meros qilib olish imkonini beruvchi mexanizm.
Maqsad: U kodni qayta ishlatishga yordam beradi va mavjud sinf asosida yanada ixtisoslashgan sinfni yaratishga imkon beruvchi sinflar o'rtasidagi munosabatlarni o'rnatadi. Meros "is-a" munosabatini qo'llab-quvvatlaydi.
Polimorfizm:
Ta'rif: Polimorfizm turli sinflar ob'ektlarini umumiy tayanch sinf ob'ektlari sifatida ko'rishga imkon beradi. Bu har xil turdagi ob'ektlarni ifodalash uchun yagona interfeysga imkon beradi.Maqsad: Polimorfizm kodni soddalashtiradi va moslashuvchanlikni oshiradi. U usullarni haddan tashqari yuklashni (bir xil nomga ega, ammo turli parametrlarga ega bo'lgan bir nechta usullar) va usulni bekor qilishni (ustki sinfdagi usul bilan bir xil imzoga ega bo'lgan kichik sinfdagi usul) o'z ichiga oladi.
Assotsiatsiya:
Ta'rif: Assotsiatsiya ikki yoki undan ortiq sinflar o'rtasidagi munosabatlarni ifodalaydi. Bu bir-bir, bir-ko'p yoki ko'p-ko'p munosabatlar bo'lishi mumkin.
Maqsad: Assotsiatsiya sinflarning birgalikda ishlashiga imkon beradi, bu bir sinfga boshqasining xususiyatlaridan foydalanish imkonini beradi. Bu turli sinflarni ulash orqali yanada murakkab tizimlarni qurishda yordam beradi.
Kompozitsiya:
Ta'rif: Kompozitsiya - bu birlashmaning kuchli shakli bo'lib, unda bir sinf boshqa sinf ob'ektini o'z ichiga oladi. Bu "bor-a" munosabatini bildiradi.Maqsad: Kompozitsiya oddiyroq narsalarni birlashtirib, murakkabroq ob'ektlarni yaratishga imkon beradi. Bu kodni qayta ishlatishga yordam beradi va yanada moslashuvchan va barqaror dizaynlarga olib kelishi mumkin.
Inkapsulyatsiya, meros va polimorfizm (Encapsulation Inheritance Polymorphism-EIP) aloqasi:
Ushbu uchta tamoyil - inkapsulyatsiya, meros va polimorfizm - odatda birgalikda EIP yoki OOPning uchta ustuni deb ataladi. Ular mustahkam, modulli va kengaytiriladigan dasturiy ta'minotni yaratish uchun asos yaratish uchun birgalikda ishlaydi.Ob'ektga yo'naltirilgan dasturlash (Object-oriented programming-OOP) turli dasturlash tillarida, jumladan Java, C++, Python va boshqalarda keng qo'llaniladi. Ushbu tamoyillarga rioya qilgan holda, ishlab chiquvchilar tushunish va saqlash osonroq bo'lgan modulli, qayta ishlatiladigan va kengaytiriladigan kodni yaratishi mumkin. OOP - bu murakkab dasturiy ta'minot tizimlarini ishlab chiqishni qo'llab-quvvatlaydigan kuchli paradigma bo'lib, zamonaviy dasturiy injiniringda asosiy tushunchadir.
|
| |