Документация по Python

Переопределение метода

В: Документация по Python

Введение

Примеры

Переопределение основного метода

Ниже приведен пример базового переопределением в Python (для наглядности и совместимости как с Python 2 и 3, используя новый класс стиля и print с () ):

 class Parent(object):
    def introduce(self):
        print("Hello!")

    def print_name(self):
        print("Parent")


class Child(Parent):
    def print_name(self):
        print("Child")


p = Parent()
c = Child()

p.introduce()
p.print_name()

c.introduce()
c.print_name()

$ python basic_override.py 
Hello!
Parent
Hello!
Child

 

Когда Child создан класс, он наследует методы Parent класса. Это означает, что любые методы, которые есть у родительского класса, также будут у дочернего класса. В этом примере introduce определяется для Child класса , поскольку она определена для Parent , несмотря на не определены явно в определении класса от Child .

В этом примере, наиважнейший происходит , когда Child определяет свой собственный print_name метод. Если этот метод не был объявлен, то c.print_name() был бы напечатан "Parent" . Тем не менее, Child имеет перекрываться в Parent определении «s из print_name , и теперь при вызове c.print_name() , слово "Child" печатаются.

Синтаксис

Параметры

Примечания

Еще от кодкамп
Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.