forum.ziyouz.com

Ilm va ziyo => Darsxona => Dasturlash => Mavzu boshlandi: jamshid8920 29 Mart 2012, 14:54:04

Nom: Obyektga yo'naltirilgan dasturlash nima?
Yuborildi: jamshid8920 29 Mart 2012, 14:54:04
Obyektga yo'naltirilgan dasturlash(OYD)

Obyekt nima?
      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.
(http://3.bp.blogspot.com/-4iRzsX459LM/T3L2ApIpfcI/AAAAAAAAAHg/jHSQ0lOxOA0/s1600/concepts-object.gif)

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,
(http://4.bp.blogspot.com/-pS9oPpLoE7g/T3McTlYZdiI/AAAAAAAAAHw/ajzYpB-1Mrw/s1600/concepts-object.gif)

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:


Bu yuqoridagi ma'lumotlar yaxshi tushunarli bo'lmagan bo'lsa. Keyingi maqolalarda bularni kodlar bilan yozib tushuntirib boriladi.
Manba: http://oddiy.blogspot.com/2012/03/obyektgayonaltirilgan-dasturlashoyd.html#more (http://oddiy.blogspot.com/2012/03/obyektgayonaltirilgan-dasturlashoyd.html#more)