Obyektga Yo'naltirilgan Dasturlash(OYD) haqida qisqacha ma'lumot
Dasturlash tillari yaratilgandan buyon kompyuter olimlari kompyuterni dasturlashning bir necha usullarini ishlab chiqishga harakat qilishdi. Vaqt o'tib, dasturlash tillarining yanada rivojlangan turlari paydo bo'lganligi sababli, dasturlarni yozish uchun ishlatiladigan usul ham o'zgargan. Metodologiya, algoritmlar, kontseptualizatsiya yillar mobaynida rivojlana boshladi. Avval va hozirda, obyektga yo'naltirilgan dasturlash har qanday dasturni dasturlashning mashhur metodologiyasidir.
Muayyan metodologiyaga amal qilish uchun maxsus dasturlash tili juda aniq tarzda ishlab chiqilishi kerak. PHP haqida gapirsak, u obyektga asoslangan dasturlash tilidir.
Ushbu bo'limda biz PHP'ni obyektga yo'naltirilgan dasturlash tiliga aylanish imkonini beradigan yoki qo'llab-quvvatlaydigan xususiyatlarni ko'rib chiqamiz. Avvalo ob'ektni yo'naltirilgan dasturlash nima ekanligini tushunishga harakat qilaylik. (yoki OOP) va uning tushunchalari.
OOP o'zi nima?
OOP - Class(sinf) tushunchasi bilan bog'liq bo'lgan dasturlash usulidir.
OOP dastur protsedurasiga emas balki dasturlash mobaynida obyektga diqqatni qaratish yo'lida ishlab chiqilgan. Obyekt biz atrofimizda ko'rgan har qanday narsa bo'lishi mumkin.
Bu inson (m.u - ism, manzil, DOB va hokazo), stul (kattaligi, materiali, qiymati va hokazo), maktab (joy, talaba bilimi, natijalar) va boshqalar.
Obyektga yo'naltirilgan dasturlash real hayotga yaqin, chunki biz har doim obyekt bilan ishlaymiz, unda metod va o'zharuvchilardan foydalanib amallar bajaramiz.
OOP tushunchalari
Inkapsulatsiya, Polimorfizm, Abstraksiya, meros qoldirish.
Yuqoridagi tushunarsiz atamalarga aniqlik kiritib olishga ruxsat beringlar.
Mana shularni oddiy namuna bilan tushuntirishga harakat qilaman. Inson yashash turi va jinsi bilan 2 turga bo'linadi: Erkak va Ayol, to'g'rimi? Ha, to'g'ri. Har bir insonning(erkak, ayol) 2ta oyog'i, qo'li , 2ta ko'zi va 1ta burni va yuragi va boshqalar mavjud. Bu erkak va ayol uchun umumiy tana qismlari. Ammo, shunday tana qismlari mavjudki, u erkakda yo'q ayolda bor, erkakda bor ayolda yo'q.
Barcha inson zoti yeydi, ichadi, ko'radi va h.k. Yana qayta aytaman, erkak va ayol ikkovi ham, bir-birida yo'q umumiy funksiyalarni bajaradi. Misol uchun: Ayol naslni dunyoga keltirishi mumkin, erkak esa yo'q va bu faqat ayolga tegishli holat.
Odam anatomiyasi qiziq, shundaymi? Ammo keling buni PHP va OOP ga qanday aloqasi borligini ko'ramiz.
Class(Sinf)
Bu yerda biz insonni klass sifatida olamiz. Klass bu har qanday funksional qismning xossalari va funksiyalarini ifodalash uchun qilingan shablon. Odamga o'xshab uning tana qismlari va turli xil bajaradigan faoliyatlari(funksiyalari).
Inheritance(meros olish)
Tasavvur qiling bizda Inson nomli xuddi oyoq, qo'l, ko'z kabi xossa va sayr qilish, ko'rish kabi funksiyalarga ega klasi bor. Bizda Erkak va Ayol ham klass, ammo ko'proq xossa va funksiyalar Inson klassda qamrab olingan. Shuning uchun ular Inson klassidan hamma narsani o'zlariga Inheritance tushunchasidan foydalanib meros qilib oladi.
Objects(obyektlar)
Meni ismim Sanjar. Men Erkak klasining misoliman/obyektiman. Biz odam, erkak va ayol deganimizda, siz, do'stingiz, men va sinflarning boshqa shakllarini tushunamiz. Bizda jismoniy mavjudlik bor, holbuki klassga berilgan ta'rif shunchaki mantiqiy ta'rif. Biz obyektlarmiz.
P.S: Klass tomonidan belgilangan ma'lumot strukturasining individual namunasi. Klassni bir marta belgilaysiz va unga tegishli ko'pgina obyektlarni yaratishingiz mumkin.
Abstraksiya
Abstraksiya bu katta joydan kerakli ma'lumotni tanlab uni obyektga ko'rsatish. Bu dasturlash mukammalligini va ishlashini oshirishda yordam beradi.
Encapsulation(inkapsulatsiya)
Ba'zi ma'lumotlarni bir qismga joylashtirish(yopish) - inkapsulatsiya deyiladi. Inkapsulatsiya obyektdagi ma'lumotni boshqasidan saqlash uchun ishlatiladi. Tushundingizki, inkapsulatsiya asosan himoya maqsadida qo'llaniladi.
Polymorphism(polimorfizm)
Polimorfizm umumiy interfeysni almashish jarayonida sinflarni turli funktsionalliklarga ega bo'lgan obyektga asoslangan dasturlashdagi andozani ifodalaydi.
Polimorfizm asli grekcha so'zdan olingan bo'lib, "ko'p shakllar" degan ma'noni bildiradi.
Boshqa so'z bilan aytganda, polimorfizm bir interfeysli klasslar to'plamini qo'shilishi. Polimorfizm php oop ning kalit(asosiy) qismidir.
Sanjar Sobirjonov | t.me/tutorialsuz