Sobes.tech
Junior — Middle

Může mít metoda v odvozené třídě stejný název jako metoda v její základní třídě?

sobes.tech AI

Odpověď od 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")

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