ООП в Python #4
В этом уроке мы рассмотрим наследование и создание иерархий классов, что является еще одной важной концепцией ООП на Python 🐍
🔸 Что такое наследование? Наследование – это механизм, позволяющий одному классу (дочернему) наследовать атрибуты и методы другого класса (родительского). Это позволяет создавать новые классы на основе существующих и повторно использовать код.
🔹Пример наследования Рассмотрим пример с классами Animal и Dog. Класс Dog будет наследовать от класса Animal.
class Animal:
def __init__(self, name, species):
self.name = name
self.species = species
def make_sound(self):
print("Some generic animal sound")
class Dog(Animal):
def __init__(self, name, breed):
super().__init__(name, "Dog") # Вызов конструктора родительского класса
self.breed = breed
def make_sound(self):
print("Woof! Woof!") # Переопределение метода
🔹Создание объектов и использование методов Теперь создадим объекты классов Animal и Dog и используем их методы:
generic_animal = Animal("Generic Animal", "Unknown")
generic_animal.make_sound() # Вывод: Some generic animal sound
buddy = Dog("Buddy", "Golden Retriever")
buddy.make_sound() # Вывод: Woof! Woof!
print(f"{buddy.name} is a {buddy.breed}") # Вывод: Buddy is a Golden Retriever
🔹Переопределение методов В дочернем классе Dog мы переопределили метод make_sound родительского класса Animal. Это позволяет дочернему классу предоставлять свою реализацию методов родительского класса.
🔹Множественное наследование Python поддерживает множественное наследование, что означает, что класс может наследоваться от нескольких классов:
class CanFly:
def fly(self):
print("I can fly!")
class CanSwim:
def swim(self):
print("I can swim!")
class Duck(Animal, CanFly, CanSwim):
def __init__(self, name):
super().__init__(name, "Duck")
def make_sound(self):
print("Quack! Quack!")
ducky = Duck("Daffy")
ducky.make_sound() # Вывод: Quack! Quack!
ducky.fly() # Вывод: I can fly!
ducky.swim() # Вывод: I can swim!
🔸Заключение Наследование позволяет создавать иерархии классов и повторно использовать код, что делает программирование более эффективным и организованным. В следующем уроке мы изучим полиморфизм и работу с методами. Оставайтесь с нами! 🚀
➡️Читайте нас в Telegram и Сетке
#CODERIKK #Python #ООП #Наследование #Программирование #Обучение