Amudaryo muhandislik texnikumi


Subtip polimorfizm (aka inklyuziya)



Download 2,68 Mb.
bet16/32
Sana21.09.2022
Hajmi2,68 Mb.
#849794
1   ...   12   13   14   15   16   17   18   19   ...   32
Bog'liq
Ob\'ektga yo’naltirilgan va tarmoq dasturlash

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)



Download 2,68 Mb.

Do'stlaringiz bilan baham:
1   ...   12   13   14   15   16   17   18   19   ...   32




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish