Илья Ермаков писал(а):
Только процедурный тип - это не полиморфизм, а виртуализация. Полиморфизм - это протаскивание расширенных типов через указатель или параметр базового. (Принцип Барбары Лисков, или, как я люблю говорить студентам "принцип рыбы-селёдки").
Как понимаю, разногласия не больше, чем терминологические.
Илья, чуть-чуть по-подробнее, если можно. И я тоже буду таковой терминологией(ями) пользоваться - легко
Как бы во избежании даже случайных разночтений
Valery Solovey писал(а):
А что Вы подразумеваете под фундаментальностью?
То, что более независимо, имеет более раннюю дату рождения, например... Наконец, если мы вытащили один "болт", а обвалилось "пол-здания", значит мы вытащили его из "фундамента".
Точного определения, конечно же, не дам. Тут я не самый большой мастер.
Но мне совершенно понятно, что плевать хотели машинные языки (причем все хором), на наличие или отсутствие полимофизма в неком конкретном ЯВУ. Также как и то, что даже если бы ЯВУ и хотели наплевать аналогичным образом на машинные языки - ничего у них не выйдет.
О чем собственно и писал...
О технике.
Давно уже было, могу не все точно помнить. Но в каком-то из контроллеров, предшественников i8051, кажется был програмно недоступный стек возвратов. Аж на 3 вложения/прерывания.
Уверяю, в этом "исполнителе", никаких мечтов о полиморфизмах не было, и не могло быть - по определению. Из-за отсутствия "маленькой загогулины"
Valery Solovey писал(а):
Кстати, если холодильник правильно установить, то им можно охладить комнату
Ну не будете же Вы спорить, что у "грамотного потребителя",
не позволяющего себе роскоши знать чего-то об устройстве холодильника - и мысли про "правильно установить" не возникнет
Валерий Лаптев писал(а):
Ну дык указателей на функции практически достаточно
А мне так не кажется.
В смысле, пока мы не знаем, что в природе существуют виртуальные ф-ии - проблем нет.
В переменную записывается константа (с точностью до смещения, вносимого линкером/загрузчиком) времени компиляции.
А для виртуальных методов?
Глядя формально на запись этого присваивания, вроде бы все очевидно: там в правой части записана ф-ия, которая - вот же она, тоже имеет конкретный адрес.
А применение?
Опять же, совершенно формально, мы имеем право подставить в this любого наследника типа, записанного в сигнатуре.
Но фигня же ведь получится!!!