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

12 Фев 2021 в 19:48
125 +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 Апр 2024 в 20:58
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир