Здравствуйте, Nick_, Вы писали:
N_>Обьясните мне, что подразумевается под статическим полиморфизмом, а что под динамическим?
Статический когда выбор конкретного варианта осуществляется компилятором (перегрузка и т.п.) и динамический кодга конкретный вариант выбирается в рантайме на базе динамического выбора.
N_>Я знаю только ad-hoc и параметрический полиморфизмы.
Не думаю, что этот термин реально прижился. Не все из Википедии нужно брать на вооружении.
N_>ad-hoc — это перегрузка(overloading) и то, что обычно понимается под полиморфизмом в С++.
N_>parametric — это то, что в функциональных языках понимается под полиморфизмом.
N_>Шаблоны в С++ — это подобие параметрического полиморфизма.
Это все не типизация. Это общие разрозненные слова. Реально имет значение смысл полиморфизма: создание универсального кода (процедур, функций, методов) или типов, т.е. так чтобы код и типы можно было абстрагировать от конкретных используемых в них типов.
Ну, а дальше можно выделить два подкласса — это статический полиморфизм и динамический. Динамический требует выбора в рантайме, статический ведет к генерации множества вопложений полиморфного кода и типов.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>