OOP(Obkyektga yo'naltirilgan dasturlash)ning asosiy tushuncha va prinsiplari. Har qanday binoni qurishda ishlatiladigan umumiy qabul qilingan qoidalar mavjud bo'lgani kabi OOPning ham o'z qoidalari mavjud. Quyida ularga qisqacha to'xtalib o'tamiz. OOPning 3 ustuni deganda odata poliymorfizm, enkapsulatsiya va meros olish tushuniladi.
Poliymorfizm Obyektga abstrakt darajada qarash hususiyati. Masalan, futbolda turli futbol jamoalari mavjud: ayollar futbol jamoasi, yoshlar fubol jamoasi, mini futbol jamoasi. Shu obyektlarga alohida obyekt emas umumiy qilib futbol jamoasi sifatida qarash imkonini beradi. Yana boshqacha qilib aytganda turli hil obyektlar bilan bir hil uniformada ishlash imoniyati desak bo'ladi. Design patternlarning P2I prinsipining asosini tashkil qiladi.
Enkapsulatsiya Ma'lumotlar va funksiyalarni bir komponent ichiga yig'ishga atyiladi. Buning uchun classlardan foydalaniladi. Enkapsulatsiya tanlov asosida classning ba'zi hususiyatlarini foydalanuvchidan yashirish imkonini beradi. Ushbu jarayonga misol sifatida avtomobil minayotgan haydovchini olishimiz mumkin. Xaydovchi tormoz pedalni bosganda, pedalning ishlash jihatlaridan bexabar bo'ladi. Sababi unga bu bilimning keragi yo'q. Pedal ichidagi murakkab mexanizm foydalanuvchidan yashirilgan bo'ladi.
Meros olish(Inheritance) OOPning uchinchi ustuni. Yuqorida berilgan ustunlar bilan doim birga yuradi. Ma'lum obyekt asosida boshqa obyektni yaratish jarayoniga aytiladi. Bir classning boshqa classdan meros olishi yordamida amalga oshiriladi. Meros olingan obyekt ota obyektdagi xususiyatlarni tanlovga ko'ra meros oladi. Masalan, avtoulov bu ota obyekt. Bu obyekt yordamida yengil mashina, yuk mashinasi, poyga mashinasi kabi boshqa obyektlarni yaratib olishimiz mumkin. Ota classda bo'lgan 4 g'ildirak farzand classlarda ham mavjud bo'ladi. Ya'ni poyga mashinasi, avtoulovdan g'ildiraklarni meros oladi.
Design patternlar uchun bir nechta sifat ko'rsatkichlari(prinsiplar) mavjud. Quyida ushbularni sanab o'tamiz.