Как связаны методы наследования и переопределения?

Наследование позволяет нам определить класс, который извлекает все функциональные возможности из родительского класса и позволяет нам добавлять больше. Переопределение метода происходит просто, определяя в дочернем классе метод с тем же именем метода в родительском классе. Когда вы определяете метод в объекте, вы делаете его последним способным удовлетворить этот вызов метода, поэтому реализации его предков не вступают в игру.

Пример

 
class BaseClass:
  def OverrideMethod(self):
    print("BaseClass->OverrideMethod")
  def BeaseMethod(self):
    print("BaseClass->BeaseMethod")
class DerivedClass(BaseClass):
  def OverrideMethod(self):
    print("DerivedClass->OverrideMethod")
def testMethod(x):
  x.OverrideMethod()
  x.BeaseMethod()
testMethod(BaseClass())
testMethod(DerivedClass())

Выход

 
BaseClass->OverrideMethod
BaseClass->BeaseMethod
DerivedClass->OverrideMethod
BaseClass->BeaseMethod

Источник: http://net-informations.com/python/iq/overriding.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector