У нас есть классы "Собака" и "Кот", которые оба наследуются от класса "Животное". У класса "Животное" есть метод "издать звук". Когда мы вызываем метод "издать звук" для объекта класса "Собака", он будет издавать звук "Гав-гав", а когда вызываем метод для объекта класса "Кот", он будет издавать звук "Мяу".
class Животное def идти(self) pas def издать_звук(self) pas class Собака(Животное) def издать_звук(self) print("Гав-гав" class Кот(Животное) def издать_звук(self) print("Мяу" # Создание объекто собака = Собака( кот = Кот( # Вызов методо собака.издать_звук() # Вывод: "Гав-гав кот.издать_звук() # Вывод: "Мяу"Полиморфизм функций:
У нас есть функция "вычислить_площадь", которая принимает на вход объект - фигуру. Мы можем передать функции как объект класса "Прямоугольник", так и объект класса "Круг". В зависимости от типа переданного объекта, функция будет вычислять площадь соответствующим образом.
Конечно, вот два простых примера полиморфизма:
Полиморфизм методов:У нас есть классы "Собака" и "Кот", которые оба наследуются от класса "Животное". У класса "Животное" есть метод "издать звук". Когда мы вызываем метод "издать звук" для объекта класса "Собака", он будет издавать звук "Гав-гав", а когда вызываем метод для объекта класса "Кот", он будет издавать звук "Мяу".
class Животноеdef идти(self)
pas
def издать_звук(self)
pas
class Собака(Животное)
def издать_звук(self)
print("Гав-гав"
class Кот(Животное)
def издать_звук(self)
print("Мяу"
# Создание объекто
собака = Собака(
кот = Кот(
# Вызов методо
собака.издать_звук() # Вывод: "Гав-гав
кот.издать_звук() # Вывод: "Мяу"Полиморфизм функций:
У нас есть функция "вычислить_площадь", которая принимает на вход объект - фигуру. Мы можем передать функции как объект класса "Прямоугольник", так и объект класса "Круг". В зависимости от типа переданного объекта, функция будет вычислять площадь соответствующим образом.
class Фигураdef вычислить_площадь(self)
pas
class Прямоугольник(Фигура)
def __init__(self, длина, ширина)
self.длина = длин
self.ширина = ширин
def вычислить_площадь(self)
return self.длина * self.ширин
class Круг(Фигура)
def __init__(self, радиус)
self.радиус = радиу
def вычислить_площадь(self)
return 3.14 * self.радиус **
# Функция, использующая полиморфиз
def вычислить_площадь_фигуры(фигура)
return фигура.вычислить_площадь(
# Создание объекто
прямоугольник = Прямоугольник(5, 10
круг = Круг(5
# Вызов функци
print(вычислить_площадь_фигуры(прямоугольник)) # Вывод: 5
print(вычислить_площадь_фигуры(круг)) # Вывод: 78.5
Надеюсь, эти примеры помогли вам лучше понять полиморфизм в объектно-ориентированной разработке.