Sobes.tech
Junior — Middle

Poate o metodă dintr-o clasă derivată să aibă același nume ca și o metodă din clasa sa de bază?

sobes.tech AI

Răspuns de la AI

Да, у дочернего класса в Python может быть метод с таким же именем, как и у базового класса. В этом случае происходит переопределение метода (method overriding). Это позволяет изменить или расширить поведение метода базового класса в дочернем.

Пример:

class Base:
    def greet(self):
        print("Hello from Base")

class Child(Base):
    def greet(self):
        print("Hello from Child")

obj = Child()
obj.greet()  # Выведет: Hello from Child

Если нужно вызвать метод базового класса из дочернего, можно использовать super():

class Child(Base):
    def greet(self):
        super().greet()
        print("Hello from Child")

Таким образом, совпадение имен методов — обычная практика для реализации полиморфизма.