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

Введение

Примеры

  • 0

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

    Ниже приведен пример базового переопределением в 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" печатаются.

Синтаксис

Параметры

Примечания