Примеры полиморфизма
1. Полиморфизм через переопределение методов (Override)
Разные классы реализуют один и тот же метод по-своему.
class Dog:
def speak(self):
return "Гав"
class Cat:
def speak(self):
return "Мяу"
for animal in [Dog(), Cat()]:
print(animal.speak())Вывод:
Гав
Мяу📌 Один и тот же вызов speak() ведёт себя по-разному для разных объектов.
2. Полиморфизм через наследование
Один интерфейс в базовом классе — разные реализации в наследниках.
3. Полиморфизм через функции
Функция не проверяет тип объекта — она просто вызывает метод, который предполагается у него есть (duck typing).
📌 Главное, чтобы у объекта был метод speak(), а не его тип.
4. Полиморфизм в автоматизации тестирования (Page Object Model)
Разные страницы реализуют один и тот же метод по-разному, но тесты используют его одинаково.
📌 Тесту не важно, какая страница — он просто вызывает open().
Коротко суть
Интерфейс одинаковый (метод с одним именем).
Реализация разная (зависит от объекта).
В Python это часто реализуется через наследование или duck typing.
PreviousООП и его принципыNextСтатический полиморфизм (перегрузка методов) и Динамический полиморфизм (переопределение методов):
Last updated
Was this helpful?