Obyekt va OYDning asosiy tushunchalari 08/09/2016G'ayratjon RayimjonovJava DarsliklarNo Comments Obyekt – Obyektga yo’naltirilgan dasturlash(OYD) dasturlash texnologiyasining eng asosiy kalit tushunchasidir. Atrofga qarang, haqiqiy hayotdagi bir necha obyektlarni ko’rishingiz mumkin: stol, uy, qalam , motosikil , televizor va h.k
Ularning barchasining albatta hususiyatlari va bajaradigan vazifalari (funksiyalari) bor. Masalan, Mushuk hususiyatlari: rangi, qorni to’qligi, yoshi, jinsi; funksiyalari: ovqat yeyishi, miyovlashi, yurishi, sichqon tutishi. Mashina hususiyatlari: tezligi, rangi, nomi, narxi; funksiyalari: yurishi, to’xtashi, oyna artgichlarining ishlashi, eshiklarning ochilib yopilishi va h.k. Bu kabi hayotiy misollarning hususiyatlari va funksiyalarini aniqlash OYD nuqtai nazaridan fikrlashning eng zo’r ko’rinishidir.
Bir daqiqaga to’xtang va hozirda atrofingizdagi biror narsalarni tahlil 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; funksiyalari 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 funksiyalardan iborat bo’ladi. Obyektning hususiyatlari har xil dasturiy o’zgaruvchilardan iborat bo’ladi va ularning o’zgartirish uchun qandaydir funksiyalar bajariladi. Bunday funksiyalar bilan o’zgaruvchilarning holatini berkitish mumkin ya’ni aynan o’sha o’zgaruvchini tashqaridan o’zgartirish uchun albatta maxsus funksiyadan foydalanish kerak bo’ladi. Bu jarayon “Enkapsulatsiya” deb atalib, OYDning eng muxim tushunchalaridan biridir.
Mashinani tasavvur qiling,
Uni dasturlash obyekti sifatida modellashtiramiz:
Uning o’zgaruvchilari( hozirgi tezligi, qolgan benzini, va h.k) va uning funksiyalari(to’xtatish, tezlikni oshirish, rolni burish va h.k.). Bu yerda uning bakidagi benzini yurishi tufayli kamayib boradi demak uning qiymatining o’zgarishi 0 dan bakning sig’imigacha bo’ladi, yoki uning tezligi ham shu kabi aynan qaysidir funksiyalarning 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 turipdiki 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:
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.