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