Ad hoc поліморфізм — один із видів поліморфізму у програмуванні, коли функції з однаковою назвою реалізовують схожу логіку для різних типів вхідних параметрів.
Ad hoc поліморфізм підтримується у багатьох мовах через перевантаження функцій та перевантаження операторів.
Термін ad hoc використовується, щоб відрізнити цей вид поліморфізму від , у якому логіка функції пишеться тільки один раз і без знання типів, які будуть із нею використовуватись.
Ad hoc поліморфізм може доповнювати параметричний поліморфізм, коли для деяких типів потрібна окрема реалізація. Це допомагає вирішити проблеми загального алгоритму, але може порушити узгодженість коду.
В така суміш можлива при
- спеціалізації шаблону функції чи класу,
- частковій спеціалізації шаблону класу.
Джерела
- Daniel P. Friedman, Mitchell Wand, Christopher T. Haynes (2001). Essentials of Programming Languages (англ.) (вид. друге). The MIT Press. ISBN .
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Ad hoc polimorfizm odin iz vidiv polimorfizmu u programuvanni koli funkciyi z odnakovoyu nazvoyu realizovuyut shozhu logiku dlya riznih tipiv vhidnih parametriv Ad hoc polimorfizm pidtrimuyetsya u bagatoh movah cherez perevantazhennya funkcij ta perevantazhennya operatoriv Termin ad hoc vikoristovuyetsya shob vidrizniti cej vid polimorfizmu vid u yakomu logika funkciyi pishetsya tilki odin raz i bez znannya tipiv yaki budut iz neyu vikoristovuvatis Ad hoc polimorfizm mozhe dopovnyuvati parametrichnij polimorfizm koli dlya deyakih tipiv potribna okrema realizaciya Ce dopomagaye virishiti problemi zagalnogo algoritmu ale mozhe porushiti uzgodzhenist kodu V S taka sumish mozhliva pri specializaciyi shablonu funkciyi chi klasu chastkovij specializaciyi shablonu klasu DzherelaDaniel P Friedman Mitchell Wand Christopher T Haynes 2001 Essentials of Programming Languages angl vid druge The MIT Press ISBN 0 262 06217 8