ООП в Python #5
В нашем новом уроке по основам ООП на Python мы рассмотрим полиморфизм и работу с методами. Полиморфизм является ключевой концепцией ООП, которая позволяет объектам разных классов быть использованными через один и тот же интерфейс.
🔸Что такое полиморфизм? Полиморфизм – это способность объектов разных классов реагировать на одни и те же методы по-разному. В Python это достигается благодаря переопределению методов в дочерних классах.
🔹Пример полиморфизма Рассмотрим пример с классами Animal, Dog, и Cat, где каждый класс имеет метод make_sound, но реализует его по-своему:
class Animal:
def make_sound(self):
raise NotImplementedError("Subclass must implement abstract method")
class Dog(Animal):
def make_sound(self):
return "Woof! Woof!"
class Cat(Animal):
def make_sound(self):
return "Meow! Meow!"
🔹Использование полиморфизма Создадим список животных и вызовем для каждого метод make_sound:
animals = [Dog(), Cat()]
for animal in animals:
print(animal.make_sound())
Вывод: Woof! Woof! Meow! Meow!
🔹Полиморфизм через абстрактные классы Python поддерживает полиморфизм и через абстрактные классы, используя модуль abc (abstract base classes):
from abc import ABC, abstractmethod
class Animal(ABC):
@abstractmethod
def make_sound(self):
pass
class Dog(Animal):
def make_sound(self):
return "Woof! Woof!"
class Cat(Animal):
def make_sound(self):
return "Meow! Meow!"
🔹Пример с общим интерфейсом Полиморфизм позволяет использовать общий интерфейс для работы с разными объектами:
def animal_sound(animal: Animal):
print(animal.make_sound())
dog = Dog()
cat = Cat()
animal_sound(dog) # Вывод: Woof! Woof!
animal_sound(cat) # Вывод: Meow! Meow!
🔸Заключение Полиморфизм упрощает расширение и поддержку кода, так как позволяет использовать единый интерфейс для работы с различными объектами. В следующем уроке мы рассмотрим магические методы и перегрузку операторов. Оставайтесь с нами! 🚀
➡️Читайте нас в Telegram и Сетке
#CODERIKK #Python #ООП #Полиморфизм #Программирование #Обучение