Функция super() используется в классах для вызова конструктора родительского класса или методов родителя.
Для чего нужна функция super() в Python?
Функция super() используется в классах для вызова конструктора родительского класса или методов родителя.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Функция super() используется в классах для вызова конструктора родительского класса или методов родителя.
Её применяют в двух основных случаях:
- В конструкторе дочернего класса для вызова конструктора базового класса и корректной инициализации наследуемых свойств.
- Для вызова методов родителя, если нужно расширить или переопределить поведение, но при этом сохранить часть логики базового класса.
Пример:
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} издаёт звук.`);
}
}
class Dog extends Animal {
constructor(name, breed) {
super(name); // вызов конструктора Animal
this.breed = breed;
}
speak() {
super.speak(); // вызов метода speak из Animal
console.log(`${this.name} лает.`);
}
}
Без вызова super() в конструкторе дочернего класса будет ошибка, так как базовый класс не инициализирован.