Этот вопрос проверяет знание механизма наследования, который позволяет одному классу унаследовать атрибуты и методы другого класса.
Наследование — это механизм, при котором один класс (подкласс) наследует атрибуты и методы другого класса (родительского). Это позволяет переиспользовать код и создавать иерархии классов. Подклассы могут добавлять новые методы и переопределять унаследованные.
Наследование — один из основных принципов ООП. С помощью него можно создавать новые классы на основе существующих, избегая дублирования кода.
Родительский класс (superclass): класс, от которого наследуют.
Подкласс (subclass): класс, который наследует.
Пример наследования:
class Animal:
def speak(self):
print("I am an animal")
class Dog(Animal): # Наследуем от Animal
def speak(self): # Переопределяем метод
print("Woof")
dog = Dog()
dog.speak() # "Woof"
Пример использования super() для вызова метода родительского класса:
class Parent:
def greet(self):
print("Hello from Parent")
class Child(Parent):
def greet(self):
super().greet()
print("Hello from Child")
child = Child()
child.greet()
# Вывод:
# Hello from Parent
# Hello from Child
Наследование позволяет создавать многоуровневые структуры, но избыточная вложенность может усложнить код.