Встречается на собеседованиях • сегодня

В чем разница между классом new и override

Разница между new и override в Python (обычно в контексте переопределения методов) заключается в их поведении при наследовании:

  • override (обычно просто переопределение метода) — метод дочернего класса полностью заменяет метод родительского.
  • new (используется редко, например, в __new__ или при создании нового метода) — создает новый метод, не затрагивая родительский.

Пример:

python
class Parent:
    def method(self):
        print("Parent method")

class Child(Parent):
    def method(self):  # override
        print("Child method")

class AnotherChild(Parent):
    def new_method(self):  # new (не переопределяет Parent.method)
        print("New method")

В Python нет явных ключевых слов new и override (как в C#), но логика аналогична.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы