Mavzu: oydning afzalliklari va kamchiliklari Reja: oydning afzalliklari oydning kamchiliklari


Subtip polimorfizm (aka inklyuziya)



Download 1,56 Mb.
bet6/19
Sana23.09.2022
Hajmi1,56 Mb.
#849823
1   2   3   4   5   6   7   8   9   ...   19
Bog'liq
Maruza

Subtip polimorfizm (aka inklyuziya) yangi turlarga algoritm / funktsiyani yangilamasdan ishlashga imkon beradi, lekin ular bir xil asosiy sinfdan bo'lishi kerak (virtual yuborish)

1 - andozalar juda moslashuvchan. SFINAE (shuningdek qarang ) parametrik polimorfizm uchun bir nechta taxminlar to'plamini samarali tarzda beradi. Masalan, siz ishlov berilayotgan ma'lumotlar turi elementni o'z ichiga olganda , siz bitta funktsiyani ishlatishingizni kodlashingiz mumkin, aks holda kerak bo'lmagan boshqa funktsiyani (lekin, ehtimol, qandaydir tarzda zarar ko'radi - masalan, sekinroq yoki foydali jurnalni yozmasdan). xabar). Shablon ma'lum parametrlar bilan yaratilganida, ba'zi parametrlarni parametrik ( shablonning qisman ixtisoslashuvi ) yoki qoldirmaslik ( to'liq ixtisoslashuv ) holatida siz odatiy xatti -harakatni belgilashingiz mumkin . std::enable_if .size().size()strlen()

"Polimorfik"


Alf Shtaynbaxning ta'kidlashicha, C ++ standartida polimorfizm faqat virtual dispetcherlik yordamida ish vaqti polimorfizmini bildiradi. Umumiy tarkibi Ilmiy. C ++ yaratuvchisi Bjarne Stroustrup lug'atiga ko'ra, yanada kengroq ( http://www.stroustrup.com/glossary.html ):
polimorfizm - har xil turdagi ob'ektlar uchun yagona interfeysni ta'minlash. Virtual funktsiyalar asosiy sinf tomonidan taqdim etilgan interfeys orqali dinamik (ish vaqti) polimorfizmini ta'minlaydi. Haddan tashqari yuklangan funktsiyalar va andozalar statik (kompilyatsiya vaqtida) polimorfizmni ta'minlaydi. TC ++ PL 12.2.6, 13.6.1, D&E 2.9.
Bu javob, xuddi savol kabi, C ++ xususiyatlarini Komp terminologiyasiga bog'laydi. Ilmiy.

Muhokama


C ++ standarti "hamjamiyat" ga qaraganda "polimorfizm" ning tor ta'rifini ishlatadi. Fantastika. Uchun moslashish bilan ta'minlash uchun sizning tinglovchilarga ...

  • aniq terminologiyadan foydalanib ("biz bu kodni boshqa turlar uchun qayta ishlata olamizmi?" yoki "biz bu kodni polimorf qila olamizmi?" emas, balki "virtual yuborishni ishlata olamizmi?") va / yoki

  • ularning terminologiyasini aniq belgilab beradi.

Aytgancha, ajoyib C ++ dasturchisi bo'lish uchun polimorfizm aslida siz uchun nima qilishini tushunish muhim ...
"algoritmik" kodni bir marta yozish va keyin uni ko'plab ma'lumotlar turlariga qo'llash imkonini beradi
... va keyin har xil polimorf mexanizmlar sizning haqiqiy ehtiyojlaringizga qanday mos kelishi haqida juda ehtiyot bo'ling.
Ish vaqti polimorfizmi mos keladi:

  • kirish ma'lumotlari zavod usullari bilan qayta ishlanadi va Base*s bilan ishlov berilgan ob'ektlarning heterojen to'plami sifatida qaytariladi.

  • konfiguratsiya fayllari, buyruq satri kalitlari, foydalanuvchi interfeysi sozlamalari va boshqalarga asoslangan ish vaqtida tanlangan dastur.

  • Amalga oshirish vaqti ish vaqtida o'zgarib turardi, masalan, davlat mashinasi modeli uchun.

Ish vaqti polimorfizmi uchun aniq haydovchi bo'lmasa, kompilyatsiya vaqtining variantlari ko'pincha afzal ko'riladi. O'ylab ko'ring:

  • shablonli sinflarning kompilyatsiya deb ataladigan tomoni ish vaqtida yog 'interfeyslarining ishlamay qolishiga qaraganda afzalroqdir

  • SFINAE

  • CRTP

  • optimallashtirish (ularning ko'piga o'lik kodni kiritish va o'chirish, pastadirni ochish, yig'ilishga asoslangan statik massivlar kiradi)

  • __FILE__,, __LINE__String harflari va boshqa o'ziga xos xususiyatli makrolarning birlashtirilishi

  • makro shablonlari va semantik testlardan foydalanish qo'llab -quvvatlanadi, lekin qo'llab -quvvatlash usulini sun'iy ravishda cheklamang (virtual jo'natish odatdagidek, a'zolar funktsiyasiga to'liq mos kelishini talab qiladi)

4-Mavzu: Funktsiya va sinf shablonlari



Download 1,56 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   19




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2022
ma'muriyatiga murojaat qiling

    Bosh sahifa
davlat universiteti
ta’lim vazirligi
axborot texnologiyalari
maxsus ta’lim
zbekiston respublikasi
guruh talabasi
O’zbekiston respublikasi
nomidagi toshkent
o’rta maxsus
davlat pedagogika
texnologiyalari universiteti
toshkent axborot
xorazmiy nomidagi
rivojlantirish vazirligi
pedagogika instituti
Ўзбекистон республикаси
tashkil etish
haqida tushuncha
таълим вазирлиги
vazirligi muhammad
O'zbekiston respublikasi
toshkent davlat
махсус таълим
respublikasi axborot
kommunikatsiyalarini rivojlantirish
vazirligi toshkent
saqlash vazirligi
fanidan tayyorlagan
bilan ishlash
Toshkent davlat
sog'liqni saqlash
uzbekistan coronavirus
respublikasi sog'liqni
coronavirus covid
koronavirus covid
vazirligi koronavirus
risida sertifikat
covid vaccination
qarshi emlanganlik
sertifikat ministry
vaccination certificate
Ishdan maqsad
fanidan mustaqil
matematika fakulteti
o’rta ta’lim
haqida umumiy
fanlar fakulteti
pedagogika universiteti
ishlab chiqarish
moliya instituti
fanining predmeti