Полиморфизм и его реализации

192
09 апреля 2019, 17:10

Хотелось бы узнать побольше про полиморфизм простыми словами и про его реализации потому что как я понял все везде спорят что нет полиморфизма, а есть только его реализации, про реализации я не очень понял, в смысле реализации?

Вот как я понял различные его реализации:

Или только вторая картинка это полиморфизм? Подскажите пожалуйста

Answer 1

В первом случае один и тот же метод, можно вызывать по разному, с разным количеством параметров
Это называется перегрузка методов, и да, это полиморфизм
Используется это для того что бы не писать разные функции которые делают одно и тоже, просто с разными типами данных. А что бы использовать одно и тоже имея, для разных параметров (например как ниже для второго случая)
Второй случай, через наследование можно вызывать одну и туже функцию с разными реализациями Например у тебя есть массив животных (которые наследуются от Animal) и ты хочешь посмотреть у кого какой "звук" Ты делаешь так

Animals[] animals = {new Cat(), new Dog(), new Cow(), new Cow(), new Dog()} 
for (int i = 0; i < animals.length; i++)  
    animals[i].voise()

И получается что из за разных реализаций в разных классах наследниках, ты будешь получать разные результат, а вызываешь ты один и тот же метод в коде Иначе тебе бы тебе пришлось для каждого животного писать разные имена методов, и как то определять класс, вызывать подходящий метод этого класса и.т.д.

READ ALSO
Перемещение порсонажа [закрыт]

Перемещение порсонажа [закрыт]

Всем приветНикак не могу понять как сделать перемещение персонажа из одной точки в другую

190
Объемлющая область действия

Объемлющая область действия

Переменные, определяемые в объемлющей области действия лямбда-выражения, доступны в этом выраженииНапример, в лямбда-выражении можно...

454
Пульсирующая круглая кнопка

Пульсирующая круглая кнопка

можете подсказать как сделать пульсирующую кнопку?

159
Border обтекающий фигуру

Border обтекающий фигуру

Существует ли у border свойство обтекающее фигуру не зависимо от заданных ширины и высоты? ЗЫ

181