← Все вопросы

Что такое полиморфизм на простом примере?

Задан 1 месяц назад881 просмотров3 ответа
15

Слово страшное, а смысл, говорят, простой. Можно короткий понятный пример на Python без академических определений?

3 ответа

24
✓ Принятый ответ — помог автору

Полиморфизм — это когда один и тот же вызов работает по-разному в зависимости от объекта. Ты зовёшь .sound(), а что именно произойдёт — решает сам объект.

class Cat:
    def sound(self):
        return "мяу"

class Dog:
    def sound(self):
        return "гав"

for animal in [Cat(), Dog()]:
    print(animal.sound())   # мяу, потом гав

Цикл не знает и не должен знать, кто перед ним — кот или пёс. Он просто говорит "издай звук", а каждый объект отвечает по-своему. Это и есть полиморфизм: одинаковый интерфейс, разное поведение. Благодаря ему можно добавить класс Cow со своим sound(), и цикл выше менять не придётся.

Ришат Нурутдинов пример с циклом по разным животным прям щёлкнул, спасибо 🙏 · 1 месяц назад
11

"Много форм". Одна команда — len() — работает и со строкой, и со списком, и со словарём, хотя считает по-разному. Вот это оно и есть, ты им пользуешься каждый день.

4

Одинаковый вызов — разное поведение.

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект