Добавил это описания после получения ответа для тех кто учится и сейчас читает вот ответ:
Полиморфизм это когда метод может иметь одно и тоже имя однако выполнять разные функций и принимать разные переменные (int, Float, double) в функции с тем же именем.
---
Пример:
#функций с одинаковым именем но принимают другие типы аргументов и могут выполнять другие функций и иметь другое количество аргументов однако название одинакого.
Sum(int i, int i2)
Sum(float i, float i2)
Sum(double d, double d2, string s1)
---
Другие языки программирования и технологии
Можете объяснить мне в простых терминах ну или с коротким примером Полиморфизм?
Все просто
нормальные языки программирования строго типизированы.
Но допустим тебе надо написать функцию суммирования двух чисел
для int декларация будет будет
int SUMMA(int,int);
Но если тебе нужно сложить типы float или double, то эта функция работать не будет, т. к. она принимает параметры только int
раньше тебе пришлось бы писать на каждый тип свою функцию, типа
float SUMMA_float(float,float);
или
double SUMMA_double(double,double);
с полиморфизмом тебе достаточно объявить функцию с тем же именем но с другими типами параметров
float SUMMA(float, float);
и можно пользоваться одним именем для двух типов.... или больше если объявишь больше. Компилятор сам будет подбирать нужную в зависмости от типов параметров/
Причем и код и поведение функции может кардинально отличаться в зависимости от параметров
нормальные языки программирования строго типизированы.
Но допустим тебе надо написать функцию суммирования двух чисел
для int декларация будет будет
int SUMMA(int,int);
Но если тебе нужно сложить типы float или double, то эта функция работать не будет, т. к. она принимает параметры только int
раньше тебе пришлось бы писать на каждый тип свою функцию, типа
float SUMMA_float(float,float);
или
double SUMMA_double(double,double);
с полиморфизмом тебе достаточно объявить функцию с тем же именем но с другими типами параметров
float SUMMA(float, float);
и можно пользоваться одним именем для двух типов.... или больше если объявишь больше. Компилятор сам будет подбирать нужную в зависмости от типов параметров/
Причем и код и поведение функции может кардинально отличаться в зависимости от параметров
Игорь Быховец
О боже мой - я этим полиморфизмом оказывается всегда пользуюсь сам того не понимая xD - ты мне прямо как глаза открыл - спасибо тебе огромное за нормальный короткий ясный мне ответ. Спасибо огромное!
Вот ручка. Я могу этой ручкой подписать с Вами выгодный договор. А могу этой же самой ручкой ткнуть Вам в глаз.
Инкапсуляция, абстракция, наследование и полиморфизм - отличительные черты объектно-ориентированного программирования.
Инкапсуляция, абстракция, наследование и полиморфизм - отличительные черты объектно-ориентированного программирования.
В простых терминах не получится, слишком большое понятие
https://ru.wikipedia.org/wiki/Полиморфизм
https://ru.wikipedia.org/wiki/Полиморфизм
У телеги есть четыре колеса, это класс, добавили двигатель, наследованный класс но с двигателем, четыре колеса остались. И так далее. =)
Олег Пономарёв
Это наследование, а не полиморфизм: -)
Ну вот есть топор например, и им можно и дрова рубить и людей тоже.
Игорь Быховец
Хорошо. Аналогию понял однако как это связано с программированием - ну то бишь если язык Полиморфный то что им можно делать - где это применяется?
Полиморфизм относится к методам. если есть какая то иерархия классов то при создании объекта суперкласса есть возможность преобразования типа в любой другой тип дочернего класса и вызвав виртуальный метод он выполнить именно то к чему был приведен объект, не смотря на то что фактически этот объект является объектом суперкласса. полиморфизм заключается не в преобразовании (а то может так показаться) а в способности объекта вызывать методы соответствующих классов к чему был приведен объект суперкласса))))
Похожие вопросы
- Объясните человеку на простом и понятном примере что такое фронтенд и бэкенд в программировании?
- Для чего нужен указатель this и каков его принцип работы? Объясните пожалуйста самым простым языком, как 2+2.
- что такое Операционная система MS DOS . объясните пжл по проще . объясните пжл по проще .
- что такое дефрагментация? объясните пожалуиста на простом языке
- Объясните что такое PHP - что это за инструмент. Приведите пример Сss - мне понятно для чего, а PHP чем облегчает жизнь?
- Объясните новичку на простом языке что делает метод Convert.ToInt32 на C#
- Помочите решит задачу на логику , и можете объяснить ответ
- Можете объяснить: почему принося готовый макет визитки я доплачиваю за работу?
- помогите пожалуйста, можете объяснить каждую строчку в програмировании
- С++ Можете объяснить принцип работы данного кода?