class Animal(object):
def run(self):
print('Animal run')
class Dog(Animal):
def run(self):
# super().run()
# Animal.run(self) //这个好像可以
# super(Animal,self).run()
print('Dog run')
d = Dog()
d.run()
执行d.run() 如何即输出'Animal run'
又输出'Dog run'
在其他语言中,往往可以直接调用super.method(),但是Python不知道该怎么实现?或者说Python不推荐在重载父类方法时调用super方法?
我试了下,好像可以在重写父类方法的时候通过super(SuperClass,self).overrideMethod()
这样的方式来实现,不知道这样是否正确?
-----------------------------------------------------分割线------------------------------------------------
谢谢@串猪神的答案:class Animal(object):
def run(self):
print('Animal run')
class Dog(Animal):
def run(self):
super().run()
print('Dog run')
d = Dog()
d.run
>>>>
Animal run
Dog run