类的继承3
"""
当子类继承父类,且子类与父类都有同名的函数,且既想执行子类的同名函数,也想执行父类的同名函数:
可以使用super方法;具体如下:
"""
方法1:
class father:
def f1(self):
print("第一")
def f2(self):
print("第二")
class son(father):
def s1(self):
print("我是周五超啊")
def f2(self):
super(son,self).f2()   #super(son,self)这是固定格式,super(son,self).f2()理解为son这个类的父类的f2方法
print("我不是第二,因为我重新了这个方法,不想继承父亲的f2")
s=son()
s.f2()  #此时打印结果则为先打印父类的f2,然后执行子类的f2,如想先执行自己的再执行父类的,可以将super(son,self).f2()放到print("我不是第二,因为我重新了这个方法,不想继承父亲的f2")下面即可
方法2:
class father:
def f1(self):
print("第一")
def f2(self):
    print("第二")
class son(father):
def s1(self):
print("我是周五超啊")
def f2(self):
    father.f2(self)  #父类下的f2方法,此种为不推荐写法
    print("我不是第二,因为我重新了这个方法,不想继承父亲的f2")
s = son()
s.f2()
"""
推荐写法为super的写法,不推荐第二种
"""
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号