Может ли кто-нибудь привести два хороших примера полиморфизма? Самые понятные и простые чтоб я все понял и мог пояснить сам

12 Фев 2021 в 19:48
100 +1
0
Ответы
1

Конечно, вот два простых примера полиморфизма:

Полиморфизм методов:

У нас есть классы "Собака" и "Кот", которые оба наследуются от класса "Животное". У класса "Животное" есть метод "издать звук". Когда мы вызываем метод "издать звук" для объекта класса "Собака", он будет издавать звук "Гав-гав", а когда вызываем метод для объекта класса "Кот", он будет издавать звук "Мяу".

class Животное:
def идти(self):
pass
def издать_звук(self):
pass
class Собака(Животное):
def издать_звук(self):
print("Гав-гав")
class Кот(Животное):
def издать_звук(self):
print("Мяу")
# Создание объектов
собака = Собака()
кот = Кот()
# Вызов методов
собака.издать_звук() # Вывод: "Гав-гав"
кот.издать_звук() # Вывод: "Мяу"Полиморфизм функций:

У нас есть функция "вычислить_площадь", которая принимает на вход объект - фигуру. Мы можем передать функции как объект класса "Прямоугольник", так и объект класса "Круг". В зависимости от типа переданного объекта, функция будет вычислять площадь соответствующим образом.

class Фигура:
def вычислить_площадь(self):
pass
class Прямоугольник(Фигура):
def __init__(self, длина, ширина):
self.длина = длина
self.ширина = ширина
def вычислить_площадь(self):
return self.длина * self.ширина
class Круг(Фигура):
def __init__(self, радиус):
self.радиус = радиус
def вычислить_площадь(self):
return 3.14 * self.радиус ** 2
# Функция, использующая полиморфизм
def вычислить_площадь_фигуры(фигура):
return фигура.вычислить_площадь()
# Создание объектов
прямоугольник = Прямоугольник(5, 10)
круг = Круг(5)
# Вызов функции
print(вычислить_площадь_фигуры(прямоугольник)) # Вывод: 50
print(вычислить_площадь_фигуры(круг)) # Вывод: 78.5

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

17 Апр в 20:58
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 548 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир