> For the complete documentation index, see [llms.txt](https://isystem.gitbook.io/programming/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://isystem.gitbook.io/programming/c++-classes/1.-obektga-yonaltirilgan-dasturlash-oyd-oop.md).

# 1. Obyektga Yo'naltirilgan Dasturlash (OYD-OOP)

OOP - Object Oriented Programming

## OOP bu nima?

C ++ OOP nima? OOP obyektga yo'naltirilgan dasturlash degan ma'noni anglatadi.

Protsedurali dasturlash - bu ma'lumotlar ustida operatsiyalarni bajaradigan protseduralar yoki funksiyalarni yozish.&#x20;

Obyektga yo'naltirilgan dasturlash - bu ma'lumotlar va funksiyalarni o'z ichiga olgan obyektlarni yaratish.

Obyektga asoslangan dasturlash protsessual dasturlashdan bir qancha afzalliklarga ega:

* OOP tezroq va oson bajariladi.&#x20;
* OOP dasturlarning aniq tuzilishini ta'minlaydi.&#x20;
* OOP C ++ kodini "O'zini takrorlamaslik" ni saqlashga yordam beradi va kodni saqlash, o'zgartirish va disk raskadrovka qilishni osonlashtiradi.&#x20;
* OOP kodi kamroq va ishlab chiqish vaqti qisqargan holda qayta ishlatilishi mumkin bo'lgan ilovalarni yaratishga imkon beradi.

{% hint style="info" %}
&#x20;"O'zingizni takrorlamang" (**Don't Repeat Yourself - DRY** ) tamoyili kodning takrorlanishini kamaytirish haqida. Siz dastur uchun keng tarqalgan kodlarni chiqarib olishingiz va ularni bitta joyga qo'yib, ularni takrorlash o'rniga qayta ishlatishingiz kerak.
{% endhint %}

## Klass va obyektlar nima?

Klasslar va obyektlar - obyektga yo'naltirilgan dasturlashning ikkita asosiy jihati.

Klasslar va obyektlar o'rtasidagi farqni ko'rish uchun quyidagi rasmga qarang:

!["Animal" bu Klass,  quyidagilar esa u asosida yaratilgan ob'ektlar](https://3502080449-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M_PnywZyywsdFxCyS8v%2F-Mg9k9iqK3AzlKHd1Q_y%2F-Mg9oBp5TZSxBqToA9_Y%2Fimage.png?alt=media\&token=1a65ef61-aa63-467c-b500-300976830bb1)

Shunday qilib, Klass - bu obyektlar uchun shablon, obyekt - bu sinf namunasi. Alohida obyektlar yaratilganda, ular barcha o'zgaruvchilar va funksiyalarni sinfdan meros qilib oladilar.

Keyingi bobda klasslar va obyektlar haqida ko'proq bilib olasiz.
