Python Schoolby trefilov
Шаг 1 из 3+130 XP

Наследование

Один класс наследует свойства другого.

Наследование: class Child(Parent)

Что это

Наследование — это способ сказать «мой класс — это разновидность другого класса». Дочерний автоматически получает все методы и поля родителя, плюс может добавить своё или переопределить существующее.

Как это читать

class Animal:
    def speak(self): print("...")
class Dog(Animal):
    def speak(self): print("woof")
Dog().speak()   # woof

- class Dog(Animal): — «Dog наследуется от Animal».
- Dog уже умеет всё, что умел Animal.
- Метод speak мы переопределили: у собаки своя реализация, родительская теряется (если её не вызвать через super()).

Пример

class Shape:
    def area(self): return 0
class Square(Shape):
    def __init__(self, side):
        self.side = side
    def area(self):
        return self.side ** 2
print(Square(4).area())   # 16

👍 Используй наследование, когда ребёнок — действительно «вид» родителя (Dog is-a Animal, Square is-a Shape).
👎 Не строй глубокие цепочки (Animal → Mammal → Dog → Puppy → ...) — обычно проще держать иерархию плоской и предпочитать композицию: «у машины есть мотор», а не «машина — это мотор».