Подтвердить что ты не робот

Являются ли полиморфизм, перегрузка и переопределение аналогичных понятий?

Я очень смущен концепциями полиморфизма, перегрузки и переопределения, потому что это кажется мне таким же. Пожалуйста, объясните эти понятия и как они отличаются друг от друга.

Очень смутно, поэтому, пожалуйста, направляйте меня правильно.

Спасибо

4b9b3361

Ответ 1

Polymorphism может быть достигнуто путем переопределения. Короче говоря, полиморфизм относится к способности объекта предоставлять разные виды поведения (использовать разные реализации) в зависимости от его собственной природы. В частности, в зависимости от его положения в иерархии классов.

Переопределение метода - это когда метод, определенный в суперклассе или интерфейсе, переопределяется одним из его подклассов, таким образом изменяя/заменяя поведение обеспечивает суперкласс. Решение о вызове реализации или другой динамически принимается во время выполнения, в зависимости от объекта, из которого вызывается операция. Обратите внимание, что подпись метода остается неизменной при переопределении.

Перегрузка метода не связана с полиморфизмом. Это относится к определению различных форм метода (обычно путем приема разных номеров или типов параметров). Это можно рассматривать как статический полиморфизм. Решение о вызове реализации или другое принимается во время кодирования. Обратите внимание, что в этом случае подпись метода должна измениться.

Перегрузка операторов - это другая концепция, связанная с полиморфизмом, которая ссылается на способность определенного оператора, зависящего от языка, вести себя по-разному на основе тип его операндов (например, + может означать конкатенацию с String и добавление с числовыми операндами).

Пример в Википедии является довольно показательным.

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

Ответ 2

В скором времени они не совпадают.

Перегрузка означает создание методов с тем же именем, но с разными параметрами.

Переопределение означает переопределение тела метода суперкласса в подклассе для изменения поведения метода.

Полиморфизм - это широкая концепция, которая включает в себя переопределение и перегрузку и многое другое в ней. Википедическое описание полиморфизма поможет вам лучше понять полиморфизм. Особенно рекомендуется подтип полиморфизма (или полиморфизма включения).