Шаг 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 → ...) — обычно проще держать иерархию плоской и предпочитать композицию: «у машины есть мотор», а не «машина — это мотор».