Что такое наследование
Python
Middle
Без компании
Что такое наследование
Ответы
**Наследование** — это механизм ООП, который позволяет создавать новый класс (**дочерний**) на основе существующего (**родительского**, **базового**). Дочерний класс автоматически **наследует** все публичные и защищенные поля и методы родительского класса и может:
1. **Добавлять** новые методы и свойства.
2. **Изменять** (переопределять, override) унаследованные методы, чтобы дать им новую реализацию, более специфичную для дочернего класса.
3. **Расширять** методы родителя (через `super()`).
**Цель:** Повторное использование кода (DRY - Don't Repeat Yourself), создание иерархий классов и реализация полиморфизма.
*Пример:*
```
class Vehicle:
def __init__(self, brand):
self.brand = brand
def move(self):
print("Moving!")
class Car(Vehicle): # Наследование от Vehicle
def __init__(self, brand, model):
super().__init__(brand) # Вызов конструктора родителя
self.model = model
def move(self): # Переопределение метода
print(f"{self.brand} {self.model} is driving fast!")
my_car = Car("Tesla", "Model S")
my_car.move() # Tesla Model S is driving fast!
```