Зачем нужно наследование

«Зачем нужно наследование» — вопрос из категории Архитектура и DevOps-практики, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Наследование позволяет создавать новые классы на основе существующих, переиспользуя их функционал. Это помогает:

  1. Избегать дублирования кода
  2. Строить иерархии классов
  3. Реализовывать полиморфизм

Пример:

class Animal:
    def make_sound(self):
        print("Some generic sound")

class Dog(Animal):
    def make_sound(self):
        print("Bark!")

dog = Dog()
dog.make_sound()  # Выведет "Bark!"

Основные принципы:

  • Класс-потомок наследует все методы и атрибуты родителя
  • Можно переопределять методы родителя
  • Можно добавлять новые методы