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