Другие языки программирования и технологии

Можете объяснить мне в простых терминах ну или с коротким примером Полиморфизм?

Добавил это описания после получения ответа для тех кто учится и сейчас читает вот ответ:
Полиморфизм это когда метод может иметь одно и тоже имя однако выполнять разные функций и принимать разные переменные (int, Float, double) в функции с тем же именем.
---
Пример:
#функций с одинаковым именем но принимают другие типы аргументов и могут выполнять другие функций и иметь другое количество аргументов однако название одинакого.
Sum(int i, int i2)
Sum(float i, float i2)
Sum(double d, double d2, string s1)
---
Игорь Быховец
Игорь Быховец
12 673
Все просто
нормальные языки программирования строго типизированы.
Но допустим тебе надо написать функцию суммирования двух чисел
для int декларация будет будет

int SUMMA(int,int);

Но если тебе нужно сложить типы float или double, то эта функция работать не будет, т. к. она принимает параметры только int

раньше тебе пришлось бы писать на каждый тип свою функцию, типа
float SUMMA_float(float,float);
или
double SUMMA_double(double,double);

с полиморфизмом тебе достаточно объявить функцию с тем же именем но с другими типами параметров
float SUMMA(float, float);

и можно пользоваться одним именем для двух типов.... или больше если объявишь больше. Компилятор сам будет подбирать нужную в зависмости от типов параметров/
Причем и код и поведение функции может кардинально отличаться в зависимости от параметров
ОП
Олег Пономарёв
52 813
Лучший ответ
Игорь Быховец О боже мой - я этим полиморфизмом оказывается всегда пользуюсь сам того не понимая xD - ты мне прямо как глаза открыл - спасибо тебе огромное за нормальный короткий ясный мне ответ. Спасибо огромное!
Вот ручка. Я могу этой ручкой подписать с Вами выгодный договор. А могу этой же самой ручкой ткнуть Вам в глаз.
Инкапсуляция, абстракция, наследование и полиморфизм - отличительные черты объектно-ориентированного программирования.
Дима Кузьмин
Дима Кузьмин
63 042
В простых терминах не получится, слишком большое понятие
https://ru.wikipedia.org/wiki/Полиморфизм
У телеги есть четыре колеса, это класс, добавили двигатель, наследованный класс но с двигателем, четыре колеса остались. И так далее. =)
Евгений Хамлов
Евгений Хамлов
34 899
Олег Пономарёв Это наследование, а не полиморфизм: -)
Ну вот есть топор например, и им можно и дрова рубить и людей тоже.
Игорь Быховец Хорошо. Аналогию понял однако как это связано с программированием - ну то бишь если язык Полиморфный то что им можно делать - где это применяется?
Полиморфизм относится к методам. если есть какая то иерархия классов то при создании объекта суперкласса есть возможность преобразования типа в любой другой тип дочернего класса и вызвав виртуальный метод он выполнить именно то к чему был приведен объект, не смотря на то что фактически этот объект является объектом суперкласса. полиморфизм заключается не в преобразовании (а то может так показаться) а в способности объекта вызывать методы соответствующих классов к чему был приведен объект суперкласса))))
Евгений Трокин
Евгений Трокин
10 755