Uploaded by Жахонгирбек Латипов

OOP tushunchalari: Merosxo'rlik, Polimorfizm, Virtual funktsiyalar

advertisement
2-mavzu: Xotirani ajratish va taqsimlash. Inkapsulyasiya. Meroshorlik.
Polimorfizm. Virtual funksiyalar.
Reja:
1. Merosxo‘rlikning umumiy xarakteristikasi
2. Konstruktorlar va destruktorlar
3. Virtual funksiyalar
4. Almashtirish printsipi
5. Polimorfizm
6. Abstrakt (tayanch) sinflar
 Merosxo‘rlikning umumiy xarakteristikasi:
Merosxo‘rlik - bu obyektga yo'naltirilgan dasturlash paradigmasida bir sinfning (subsinf) o'zidan
yuqori sinf (otsinfi)ning xususiyatlari va metodlarini meros qilib olishidir. Bu konsept yordamida
bir sinfning ma'lum xususiyatlari yoki metodlarini boshqa sinflar tomonidan takrorlashning
oldini olish va kodni qayta ishlatishni ta'minlash mumkin.
 Konstruktorlar va destruktorlar:


Konstruktor - bu obyektni yaratishda avtomatik tarzda chaqiriladigan maxsus metoddir.
U obyektning dastlabki holatini belgilash uchun ishlatiladi. Konstruktorlar sinfning nomi
bilan bir xil bo'ladi va qiymatlar bilan obyektni tashkillashtiradi.
Destruktor - obyekt xotiradan o'chirilganda chaqiriladigan metoddir. Bu metod
obyektning xotira manbalarini tozalashga yordam beradi va obyektni yo'q qilishdan oldin
bajariladigan ishlarni amalga oshiradi. Destruktorlar sinf nomiga "~" belgisini qo'yish
bilan boshlanadi.
 Virtual funksiyalar:
Virtual funksiyalar obyektga yo'naltirilgan dasturlashda polymorfizmni amalga oshirish uchun
ishlatiladi. Virtual funksiyalar sinfda e'lon qilingan bo'lsa, ularni sub sinflarda o'zgartirish
(override) mumkin. Agar funksiya virtual deb belgilangan bo'lsa, u polymorfizmni qo'llabquvvatlash imkonini beradi va chaqirish vaqtida to'g'ri versiya tanlanadi, ya'ni runtime (ishlash
vaqtida).
 Almashtirish printsipi:
Almashtirish printsipi (Overriding) - bu merosxo‘rlikda sub-sinfning ota-sinfda mavjud bo'lgan
metodni o'zida o'zgartirish (ya'ni, qayta ta'riflash) jarayonidir. Bu printsipda sub-sinfdagi metod
ota-sinfning metodini almashtiradi va yangi funktsiya yaratadi.
 Polimorfizm:
Polimorfizm - bu obyektga yo'naltirilgan dasturlashning asosiy printsiplaridan biri bo'lib, bir xil
nomli metodlarning turli xususiyatlarda yoki turli sinflarda ishlatilishiga imkon beradi. Bu,
ayniqsa, virtual funksiyalar orqali amalga oshiriladi. Polimorfizm bir obyektni bir nechta turda
ishlatish imkonini yaratadi va kodni yanada umumiylashtiradi.
 Abstrakt (tayanch) sinflar:
Abstrakt sinflar - bu boshqa sinflar uchun asos bo'lib xizmat qiladigan sinflardir. Ular to'liq
ishlov berilmagan metodlarga ega bo'lishi mumkin (ya'ni, metodlar faqat imzolanishi beriladi,
lekin ularning implementatsiyasi yo'q). Abstrakt sinfning obyekti yaratilmaydi, ammo undan
meros olib, boshqa sinflar uni to'liq bajarishi mumkin. Abstrakt sinf maqsadi - boshqa sinflarga
umumiy strukturani taqdim etish.
Download