Sobes.tech
Junior — Middle
77

Koja je razlika između korišćenja metode new i metode override u definisanju ponašanja naslednih klasa?

Компаније где су питане
МТСМТС

Одговор од АИ

sobes.tech АИ

В Python нет ключевых слов new и override как в некоторых других языках (например, C# или Java).

Однако, если рассматривать концепцию переопределения методов в наследуемых классах:

  • Переопределение (override) — это когда в подклассе создаётся метод с тем же именем, что и в базовом классе, чтобы изменить или расширить его поведение.

  • Ключевого слова new в Python для методов нет, но в других языках оно используется для создания нового метода, скрывающего метод базового класса, не переопределяя его.

В Python просто определяете метод с тем же именем в подклассе, и он переопределит метод базового класса:

class Base:
    def greet(self):
        print('Привет из Base')

class Child(Base):
    def greet(self):  # переопределение
        print('Привет из Child')

obj = Child()
obj.greet()  # Выведет: Привет из Child

Таким образом, в Python используется только переопределение методов без специальных ключевых слов.