Dasturlashdagi obekt. Dasturlashdagi obekt(bundan keyin oddiygina obekt deb ketiladi) ham haqiqiy hayotdagi obektlarga o'xshash: ular ham qandaydir xususiyatlar va bajaradigan funksiyalardan iborat bo'ladi. Obektning xususiyatlari 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 obekti 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 obeklardan iborat bo'ladi. Va albatta ularni kodda yozganda ham alohida obekt sifatida ifodalash kerak bu orqali nimalarga erishish mumkin:
Qismlilik: Har bir obektga tegishli bo'lgan kodlar alohida-alohida, boshqa obeklarga bog'liq bo'lmagan holda boshqarish imkoniyatiga ega bo'lamiz. Bu hammasi emas, tasavvur qiling mashina obektini ifodalovchi kodni bo'lmasdan faqat bitta faylda ifodaladik; bu esa murakkabligiga qarab yuzlab xatto minglab qatorli kod bo'lishi mumkin. Undan biror narsani topib-o'zgartrish ancha mashaqqat bo'ladi.
Qayta foydalanish: Yana boshqa foydali tarafi biz bo'laklagan mashinaning detallarini boshqa obektlarda ham ishlatishimiz mumkin. Masalan, 2 xil mashina ularning aynan bir xil qismlari bor, ana o'shalar uchun ikki marta alohida kod yozmasdan, bitta yozganimizni qayta ishlatishimiz mumkin.
Uzilib-ulanuvchanligi: buni tushunish uchun yuqoridagi misoldan foydalanamiz, aytaylik, mashinaning biror qismi ishlamayapti, xo'sh nima qilinadi? O'sha qismni ishlab turgan boshqa ehtiyot qismga almashtiramiz, yoki tuzatamiz. Mashinaning biror vinti buzilsa uni boshqa ishlab turgani bilan almashtirasiz yoki tuzatamiz lekin mashinani butunligicha yahlit almashtirmaymiz.
OYDning asosiy tushunchalari
Obekga yo'naltirilgan dasturlash yoki OYD – haqiqiy hayotiylikka asoslangan dasturlash usulidir. Yana protsedurali dasturlash tillari (masalan, Paskal, Basic, Fortan) ham mavjud. OYD ning undan asosiy farqi shundaki, OYD asosan obektlarga asoslangan holda ishlasa, protsedurali dasturlash tillari esa asosan funksiyalarga asoslangan bo'ladi ya'ni bu usuldagi dasturlashda har bitta buyruqlar qadamma-qadam bajarilib boriladi masalan: faylni och, raqamni o'qi, 4 ga ko'paytir va ekranga chiqar.