一、 方法重写
当父类中的方法不符合我们的需求时,可以通过重写,实现我们的需求
方法重写后,默认调用子类的方法
1. 方法重写
class Foo(object):
def __init__(self):
self.name = 'Foo'
def hi(self):
print('hi,Foo')
class Foo2(Foo):
def hi(self):
print('hi,Foo2')
if __name__ == '__main__':
f = Foo2()
f.hi() #默认调用子类方法
结果:
hi,Foo2
二、调用父类的普通方法
3种方法详见代码注释
class Foo(object):
def __init__(self):
self.name = 'Foo'
def hi(self):
print('hi,Foo')
class Foo2(Foo):
def hi(self):
#Foo.hi(self) #方法1:在重写的方法内强制调用 父类名.父类方法名() 如果需要参数,则需要传参
super(Foo2,self).hi() #方法2: super(子类名,子类对象).父类方法() 如果需要参数,则需要传参
#super().hi() #方法3:仅支持python3
print('hi,Foo2')
if __name__ == '__main__':
f = Foo2()
f.hi() #调用父类方法
结果:
hi,Foo
hi,Foo2
三、调用父类的——属性
同调用父类的普