Obyektga yo'naltirilgan dasturlash(oyd) haqida Obyektga yo'naltirilgan dasturlash(oyd) Obyekt nima?



Download 180 Kb.
bet1/8
Sana09.04.2022
Hajmi180 Kb.
#539055
  1   2   3   4   5   6   7   8
Bog'liq
Obyektga yo


Obyektga yo'naltirilgan dasturlash(OYD) haqida

Obyektga yo'naltirilgan dasturlash(OYD)
Obyekt nima?

Obyekt Obyektga yo'naltirilgan dasturlash(OYD) texnologiyasining eng asosiy kalit tushunchasidir. Atrofga qarang, haqiqiy hayotdagi bir necha obyektlarni ko'rishingiz mumkin: stol, uy, it, mushuk, televizor va h.k.


Ularning barchasining albatta hususiyatlari va bajaradigan vazifalari (funktsiyalari) bor. Masalan, Mushuk hususiyatlari: rangi, qorni to'qligi, yoshi, jinsi; funktsiyalari: ovqat yeyishi, myovlashi, yurishi, sichqon tutishi. Mashina, hususiyatlari: tezligi, rangi, nomi, narxi; funktsiyalari: yurishi, to'xtashi, oyna artgichlarining ishlashi, eshiklarning ochilib yopilishi v.h.k. Bu kabi hayotiy misollarning hususiyatlari va funktsiyalarini aniqlash OYD nuqtai nazaridan fikrlashning eng zo'r ko'rinishidir.

Bir daqiqaga to'xtang va hozirda atrofingizdagi biror narsalarni analiz qiling. Har bir obyekt uchun o'zingizdan so'rang: "Bu obyektning qanday hususiyatlari bor?" , "Qanday vazifalarni bajaradi?" kabi. Va kuzatish natijalaringizni yozib oling, sezgan bo'lsangiz tuziladigan ro'yxat obyektning murakkabligiga qarab ko'payib boradi. Kompyuter indikatorining 2 ta hususiyati bor o'chiq va yoniq; funktsiyalari esa yonish va o'chish. Bu barcha kuzatishlar OYD dunyosiga o'tkazish mumkin.



Dasturlashdagi obyekt.
Dasturlashdagi obyekt(bundan keyin oddiygina obyekt deb ketiladi) ham haqiqiy hayotdagi obyektlarga o'xshash: Ular ham qandaydir hususiyatlar va bajaradigan funktsiyalardan iborat bo'ladi. Obyektning hususiyatlari har xil dasturiy o'zgaruvchilardan iborat bo'ladi va ularning o'zgartirish uchun qandaydir funktsiyalar bajariladi. Bunday funktsiyalar bilan o'zgaruvchilarning holatini berkitish mumkin ya'ni aynan o'sha o'zgaruvchini tashqaridan o'zgartirish uchun albatta maxsus funktsiyadan foydalanish kerak bo'ladi. Bu jarayon "Enkapsulatsiya" deb atalib, OYDning eng muxim tushunchalaradian biridir. Hech e'tibor berganmisiz dorilarda ham shu termin ishalitladi ya'ni kapsula(ustidan maxsus modda bilan o'ralgan dorilar), buni misolni Enkapsulatsiya jarayoni esda yaxshi qolishi va tushunarli bo'lishi uchun keltirdim.

Mashinani tasavvur qiling,



Uni dasturlash obyekit sifatida modellashtiramiz:
Uning o'zgaruvchilari( hozirgi tezligi, qolgan benzini, va h.k) va uning funktsiyalari(to'xtatish, tezlikni oshirish, rulni burish, va h.k.). Bu yerda uning bakidagi benzini yurishi tufayli kamayib boradi demak uning qiymatining o'zgarishi 0dan bakning sig'imigacha bo'ladi, yoki uning tezligi ham shu kabi aynan qaysidir funktsiyalarning amalga oshirilishi orqali u ham 0 dan maksimal tezligigacha o'zgarishi mumkin. Bulardan tashqari mashinaning ba'zi hususiyatlari borki ular o'zgarmasligi mumkin, masalan, rangi.
Demak, ko'rinib turiptiki mashina ham o'z navbatida bir necha mayda obyeklardan iborat bo'ladi. Va albatta ularni kodda yozganda ham alohida obyekt sifatida ifodalash kerak bu orqali nimalarga erishish mumkin:

  1. Qismlilik: Har bir obyektga tegishli bo'lgan kodlar alohida-alohida, boshqa obyeklarga bog'liq bo'lmagan holda boshqarish imkoniyatiga ega bo'lamiz. Bu hammasi emas, tasavvur qiling mashina obyektini ifodalovchi kodni bo'lmasdan faqat bitta faylda ifodaladik; bu esa murakkabligiga qarab yuzlab hatto minglab qatorli kod bo'lishi mumkin. Undan biror narsani topib-o'zgartrish ancha mashaqqat bo'ladi.

  2. Qayta foydalanish: Yana boshqa plyus tarafi biz bo'laklagan mashinaning detallarini boshqa obyektlarda ham ishlatishimiz mumkin. Masalan, 2 xil mashina ularning shunday qismlari borki aynan bir xil, ana o'shalar uchun ikki marta alohida kod yozmasdan, bitta yozganimizni qayta ishlatishimiz mumkin.

  3. Uzib-ulanuvchanligi: buni tushunish uchun yuqoridagi misoldan foydlanamiz, aytaylik, mashinaning biror qismi ishlamayapti, xo'sh nima qilinadi? yoki ishlab turgan boshqasiga almashtiramiz, yoki tuzatamiz. Mashinaning biror bolti buzilsa uni boshqa ishlab turgani bilan almashtirasiz yoki tuzatamiz lekin mashinani almashtirmaymiz.

Bu yuqoridagi ma'lumotlar yaxshi tushunarli bo'lmagan bo'lsa. Keyingi maqolalarda bularni kodlar bilan yozib tushuntirib boriladi.
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.
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.
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.

Download 180 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4   5   6   7   8




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish