Полиморфизм
sergey shishkinПонятие "полиморфизм" - это вторая сторона при взгляде на процедуру создания универсального алгоритма. Первая сторона ( абстрагирование) - это взгляд с точки зрения способов создания универсального алгоритма. В то же время при взгляде на универсальный алгоритм с точки зрения пользователя, получаем запись понятия полиморфизм. То есть полиморфизм это полезная способность функции (блока кода) обрабатывать данные разных типов. Добавление этого понятия в ООП закрепляет полезность использования универсального алгоритма в разработке программного проекта.
Реализации полиморфизма в разных языках программирования сильно отличаются. В статье Википедии для Полиморфизма, в зависимости от его реализации, выделяют 4 подтипа: параметрический, включения (или подтипов), перегрузки, приведения типов. Эти реализации имеют существенные отличия, но все они объединяются одной целью — это написание универсального алгоритма, который не нужно будет дублировать для конкретной его специализации.
И на этот раз почти без удивления, нашел аналогию понятия "полиморфизм" в биологии Полиморфизм как способность некоторых одного организма существовать в состояниях с различной внутренней структурой или в разных внешних формах.