Qayta foydalanish: Yana boshqa foydali tarafi biz bo’laklagan mashinaning detallarini boshqa obyektlarda 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 Obyekga 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 obyektlarga asoslangan holda ishlasa, protsedurali dasturlash tillari esa asosan funktsiyalarga 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.
OYD ni tashkil etuvchilari quydagilar:
Object – Obyekt
Class – Sinf
Inheritance – Meros olish
Polymorphism – Ko’p formalik
Abstraction – Mavhumlik
Encapsulation – Enkapsulyatsiya (Kapsula ichiga joylamoq)
Object – Obyekt klass turidagi o’zgaruvchi. Obyekt bu klass bilan farqli tushuncha xisoblanadi. Objekt biz yozgan klassimizdagi har xil qoidalarga bo’ysunadigan ma’lumot bo’lib, u tezkor hotirada saqlanadi, klass esa qattiq diskda saqlanadi. Har bir yasalgan Obyect tezkor hotiraning ma’lum bir honachalariga joylashadi. Hayotiy bir misol, masalan, ko’p qavatli binoni tezkor hotira deb qarasak. Unda istiqomat qiluvchi insonlar esa unda saqlanuvchi obyektlar bo’lib. Agar biz Insonning hususiyatlari, bajaradigan ishlari va hokazo hususiyatlari haqidagi bilimlarni qog’ozga tushursak bu qoralamani klass deb qaralishi mumkin garchi u texnik usulda yozilmagan bo’lsa ham. Biz ana o’sha qoralamani klassimizda kompyuter tushunadigan tilga keltiramiz.
Class – OYDning marzkazi hisoblanadi va u har xil kodlar, ma’lumotlar va shu ma’lumotlar qay tarzda o’zgarishini ifodalovchi hususiyatlar saqlanadi. Boshqacharoq qilib aytadigan bo’lsak hayotiy obyektlarning qanday faoliyat yuritishi, nimalardan iborat ekanligi, qanday hususiyatlarga ega ekanligini tavsiflovchi kichik bir hujjat sifatida qarash ham mumkin. Javada hamma narsa Klass ichida sodir bo’ladi. Klass o’z ichiga o’zgaruvchilar va metodlar(funksiyalar) va qiymati o’zgarmaydigan konstantalarni oladi. Yana shuni ham ta’kidlash kerakki, har bitta klass bitta o’zgaruvchi turi bo’lib ham hizmat qiladi. Xuddi Integer, String yoki boshqa turlar kabi har bir klass ham ma’lum bir tur sifatida qaralishi mumkin.