Все время путаюсь в разновидностях этого понятия, поэтому сделаю короткую запись. Ориентируюсь на этот пост.
Статический полиморфизм - когда во время компиляции известно, какой код будет выполняться (или какая функция будет вызвана) в данном месте программы. Пример - перегрузка функций. Использование шаблонов - сюда же.
Динамический полиморфизм (overriding) - какой конкретно метод будет вызван, станет известно во время выполнения.
Иногда выделяют параметрический полиморфизм - шаблоны. Его имеет смысл выделять, потому что для полиморфного поведения шаблона необходимо указать параметр, а в других выидах полиморфизма - не нужно.
Автор поста определяет понятие полиморфизма очень коротко: множество функций с одинаковым названием.
среда, 13 марта 2019 г.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий