3-Ma`ruza: Obyektga yo`naltirilgan dasturlash tillari Reja: Obyektga Yo`naltirilgan yondashuv tarixi



Yüklə 41,12 Kb.
səhifə9/10
tarix17.04.2023
ölçüsü41,12 Kb.
#105960
1   2   3   4   5   6   7   8   9   10
3-maruza

Vorislik
Vorislik mavjud bo`lgan sinfning ta`rifi asosidayoq yangi sinfni yaratish imkonini beradi. Yangi sinf boshqasi asosida yaratilgach, uning ta`rifi avtomatik tarzda mavjud sinfning barcha xususiyatlari, xulq-atvori va joriy qilinishiga vorislik qiladi. Avval mavjud bo`lgan sinf interfeysining barcha metodlari va xususiyatlari avtomatik tarzda voris interfeysida paydo bo`ladi. Vorislik voris sinfida biror bir jihatdan to`g`ri kelmagan xulq-atvorni avvaldan ko`ra bilish imkonini beradi. Bunday foydali xususiyat dasturiy ta`minotni talablarning o`zgarishiga moslashtirish imkonini beradi. Agar o`zgartirishlar kiritishga ehtiyoj tug`ilsa, bu holda eski sinf funksiyalariga vorislik qiluvchi yangi sinf yozib qo`ya qolinadi. Keyin o`zgartirilishi lozim bo`lgan funksiyalarga qaytadan ta`rif beriladi hamda yangi funksiyalar qo`shiladi. Bunday o`rniga o`rin qo`yishning mazmuni shundan iboratki, u dastlabki sinf ta`rifini o`zgartirmay turib, obyekt ishini o`zgartirish imkonini beradi. Axir bu holda qayta test sinovlaridan puxta o`tkazilgan asosiy sinflarga tegmasa ham bo`ladi-da.
Agar siz ko`p martalab qo`llash yoki boshqa biron maqsadlarga ko`ra vorislikni qo`llashga ahd qilsangiz, avval har gal qarang — merosxo`r—sinf bilan vorislikni berayotgan sinfning turlari o`zaro mos keladimi? Vorislikda turlarning mos kelishi ko`pincha «Is-a» testi deb ataladi. Ikkita sinf bir xil turga ega bo`lgandagina o`zaro «Is-a» munosabatida turibdi deb hisoblanadi.
Birinchi sinf o`zida ikkinchi sinfning ekzemplyariga ega bo`lgan­dagina ikkita sinf o`zaro «Has-a» munosabatida turibdi deb hisoblanadi.
Aytaylik, Canine (Itlarniki) bazaviy sinfi mavjud. U holda it itniki bo`ladi (A dog is a canine). Shuning uchun Dog sinfi Canine sinfining hosilasi bo`lmog`i kerak. Shuning bilan birga itning dumi (Tail) bor (A dog has a tail). Shu sababli Tail sinfining ekzemplyari (nusxasi)ni, masalan, Canine ga kiritib qo`yish kerak. Ushbu biroz biologik misoldan ko`rinib turganidek, «Is-a» munosabati sinflarning tabaqalanishida namoyon bo`ladi. Sinflar orasidagi «Has-a» munosabati esa bir sinf ikkinchisida mavjud bo`lishiga olib keladi.
Boshqa sinfga merosxo`r bo`layotgan sinf meros berayotgan sinf bilan shunday munosabatda bo`lmog`i lozimki, bunda natijaviy munosabatlar o`z ma`nosiga ega bo`lmog`i, ya`ni vorislik tabaqalani- shiga amal qilinishi kerak.
Vorislik — sinflar o`rtasida «Is-a» munosabatlarini o`rnatish imkonini beradigan mexanizm. Merosxo`r sinf o`z ajdodi bo`lgan sinfdan xususiyatlar va xulq-atvorni meros qilib olayotganida, u shuningdek, o`z ajdodi bo`lgan sinf, ehtimol, boshqa sinflardan meros qilib olgan xususiyatlar va xulq-atvorga ham ega bo`ladi.
Vorislik tabaqalanishi qandaydir ma`no kasb etishi uchun ajdodlar ustidan qanday amallar bajarilgan bo`lsa, avlodlar ustidan ham shunday amallar bajarilish imkoniyati bo`lishi lozim. Bu «Is-a» testi yordamida tekshiriladi. Merosxo`r sinfga funksiyalarni kengaytirish va yangilarini qo`shish uchun ruxsat beriladi. Ammo unga funksiyalarni chiqarib tashlashga ruxsat yo`q.
Vorislik yordamida qurilgan sinf metodlar va xususiyatlarning uchta ko`rinishiga ega bo`lishi mumkin:

  • O`rniga qo`yish (almashtirish): yangi sinf ajdodlarining metodi yoki xususiyatini shunchaki o`zlashtirib olmaydi, balki unga yangi ta`rif ham beradi.

  • Yangisini qo`shish: yangi sinf butunlay yangi metodlar yoki xususiyatlarni qo`shadi.

  • Rekursiv: yangi sinf o`z ajdodlari metodlari yoki xususiyat- larini to`g`ridan-to`g`ri olib qo`ya qoladi.

Obyektga Yo`naltirilgan tillarning ko`pchiligi ta`rifni ma`lumot uzatilgan obyektdan qidiradilar. Agar u yerdan ta`rif topishning iloji bo`lmasa, biron ta`rif topilmaguncha qidiruv tabaqalar bo`yicha yuqoriga ko`tarilaveradi. Ma`lumotni boshqarish aynan shunday amalga oshiriladi hamda aynan shu tufayli o`ringa o`rin qo`yish jarayoni ish bajaradi.
Voris sinflar himoyalangan kirish darajasiga ega bo`lgan metodlar va xususiyatlarga kirish huquqini olishlari mumkin. Bazaviy sinfda faqat avlodlar foydalanishi mumkinligi aniq bo`lgan metodlargagina himoyalangan kirish darajasini bering. Boshqa hollarda xususiy yoki ommaviy kirish darajasidan foydalanish lozim. Bunday yondashuv barcha sinflarga, shu jumladan, tarmoq sinflarga ham kirish huquqi berilganidan ko`ra, mustahkamroq konstruksiyani yaratish imkonini beradi.

Yüklə 41,12 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9   10




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə