Inkapsulyatsiya (Qobiqlash). Qobiqlash ma’lumotlar to’plamini va bu to’plamni qayta ishlashga mo’ljallangan algoritmlarni (qismprogrammalarni, ya’ni protsedura va funksiyalarni) birlashtirishdir. Natijada yangi tip- ob’ekt (object) paydo bo’ladi. OMP muhitida ma’lumotlarni ob’ekt maydonlari va qismprogrammalarni ob’ekt metodlari deymiz.
Qulayliklari: a) Ob’ekt tashqi muhitdan mustaqil bo’ladi.
b) Ma’lumotlar va algoritmlarni modifikatsiya qilish (o’zgartirish) osonlashadi.
c) Ob’ektlar kutubxonasini yaratishga qulay sharoitlar paydo bo’ladi.
242. Polimorfizm (umumiylik, o’rindoshlik).
Polimorfizm (umumiylik, o’rindoshlik). Polimorfizm deb- bitta bosh (ota) ob’ektdan paydo bo’lgan qarindosh ob’ektlarning o’xshash muammolarni turlicha (o’ziga xos) usullar yordamida yechishga aytiladi. Boshqacha qilib aytganda, tasvirlangan qismprogrammalar ob’ektlar ketma- ketligida ta’sir
kuchiga ega bo’lib, har bir keyingi pog’onada (bosqichda) turgan ob’ekt o’zi ustida bu qismprogrammani o’zicha qo’llashi mumkin.
Qulayliklari: a) Bosh ob’ektdagi metodlarda mavjud bo’lmagan xususiyatlarni keyingi pog’onadagi ob’ektlarda hosil qilish.
b) Yangi ob’ektga bosh ob’ektdagi metod nomi bilan metodni e’lon qilib unda yangi xossalarni kiritish.
c) Ikkita bir xil metod va turli xususiyatlarni loyihalash.
d) Virtuallashtirish (виртуализация), ya’ni nafaqat yangi (o’g’il) ob’ekt metodini bosh (ota) ob’ekt metodlariga murojaat qilinishini, balki teskarisi ham, ya’ni bosh ob’ekt metodlarini yangi ob’ekt metodlariga murojaat qilinishini tashkil qilish.
243. Obe’ktlarni tashkil qilish. Object- ob’ektni tasvirlash uchun qo’llanib tiplarni aniqlash bo’limida joylashtiriladi. Type MyObject = object {ob’ekt maydonlari} {ob’ekt metodlari} End; Agar ob’ekt boshqa bosh (ota) ob’ektdan hosil qilingan bo’lsa, u holda bosh ob’ekt nomi object so’zidan keyin qavslarda ko’rsatiladi. Type MysecondObject = Object(MyfirstObject) { ob’ekt maydonlari} {ob’ekt metodlari} End;
Ob’ektlarni tasvirlashda (e’lon qilishda) quyidagilarga rioya qilish kerak.
• Ixtiyoriy ob’ekt xohlagancha avlodga (farzandlarga) va faqat bitta bosh (ota) ob’ektga ega bo’lishi mumkin;
• Ob’ekt tipi faqat asosiy programmaning turlarini tasvirlash bo’limida (type bo’limida) yoki modullar bo’limlarida e’lon qilinishlari kerak. Qismprogrammalarda (protsedura va funksiyalarda) ob’ektlarni tasvirlash mumkin emas;
• Ob’ekt tipini tasvirlashda ma’lumotlar maydonlari metodlarni tasvirlashdan oldin bo’lishi kerak;
• Ob’ekt komponentalari fayl bo’lishi mumkin emas va o’z navbatida fayllar “ob’ekt” tipidagi komponentalarni saqlamaydi.