ООП в 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 #ООП #Наследование #Программирование #Обучение

ООП в Python #4
В этом уроке мы рассмотрим наследование и создание иерархий классов, что является еще одной важной концепцией ООП на Python 🐍
🔸 Что такое наследование?
Наследование – это механизм, поз... | Сетка — социальная сеть от hh.ru