Статический полиморфизм (перегрузка методов) и Динамический полиморфизм (переопределение методов):
Статический полиморфизм (перегрузка методов):
Статический полиморфизм в Python осуществляется через механизм перегрузки методов, когда одинаковое имя метода используется в классе с разными параметрами. Однако, в Python нет "настоящей" перегрузки методов, как, например, в языке C++. Вместо этого, последний метод с определенным именем и параметрами переопределяет предыдущие.
Пример статического полиморфизма:
В этом примере, метод add
перегружен с разным количеством параметров, и последний метод считается действительным.
Динамический полиморфизм (переопределение методов):
Динамический полиморфизм в Python происходит, когда подкласс предоставляет реализацию метода, который уже был определен в его базовом классе. Это позволяет объектам разных классов использовать одинаковые методы с одинаковыми именами, что обеспечивает единообразие в интерфейсе.
Пример динамического полиморфизма:
В этом примере, метод speak
в базовом классе Animal
переопределен в подклассах Dog
и Cat
, что демонстрирует динамический полиморфизм.
Last updated