Member 14886255 Ответов: 1

Полиморфизм и наследственные отношения


Итак я читаю первую книгу java и когда она объясняет наследование сразу после этого она переходит к полиморфизму не говоря как они связаны в чем выгода ее просто говорят что она делает ваш код гибким и другие могут использовать ваш код честно говоря это так запутанно я знаю что такое наследование и не могу сказать что я понимаю полиморфизм я пробовал смотреть некоторые видео на YouTube и что я понимаю из полиморфизма у вас есть суперкласс и подклассы и вы используете массив для циклического перебора подклассов для выполнения некоторых функций

Что я уже пробовал:

Пожалуйста объясните простым английским словом

1 Ответов

Рейтинг:
1

OriginalGriff

Вообще, способности проявляются во многих формах. В объектно-ориентированном программировании полиморфизм относится к способности языка программирования обрабатывать объекты по-разному в зависимости от их типа данных или класса. Более конкретно, это способность переопределять методы для производных классов.


Таким образом, вы можете наследовать от базового класса и переопределять методы базового класса. Тогда, даже если на метод базового класса ссылаются в переменной базового класса, содержащей экземпляр производного класса, система вызывает метод производного класса вместо базового.

Предположим, у вас есть базовый класс животных и вы производите от него классы кошек и собак.
Если базовый класс имеет метод кормления, вы можете переопределить его как в классе кошек, так и в классе собак, чтобы обеспечить правильную пищу и количество корма для правильного типа животных: 85 г Вискаса для класса кошек, 250 г породистой кеты для собаки.

Если вы затем цикл через все животные, которых вы бы использовать переменную животных и просто позвонить кормить:
for (Animal animal : animals) {
    animal.Feed();
}
Система смотрит на то, какой тип находится в данный момент animal и называет подходящего кота.Корм или собака.Кормите по мере необходимости. Вам не нужно беспокоиться о том, что это за животное, система работает для вас на основе экземпляра, обрабатываемого в данный момент.

Вот в чем суть полиморфизма: способность проявляться во многих формах!

Теперь это имеет смысл?