首页 > 技术文章 > python之super()超继承的使用

xiamaojjie 2019-12-03 15:43 原文

超继承什么时候用,子类重写了父类的方法,但是子类还想用之前被重写之前父类的方法,就可以使用超继承。这是一种贪婪的继承。

 

看下面一段代码,定义了一个数学方法类MathMethod01,又定义了子类的数学方法类MathMethod02,继承了MathMethod01里面的实例属性,并重写了父类的add方法。

上面我子类重写了父类的add方法,按道理说父类的add方法会被覆盖,就不能使用父类的add方法。但是使用super()函数不但可以调用本身的add方法,而且还可以调用父类的add方法,这是一种贪婪的继承。

看调用结果:

项目中实际运用:

父类方法如图:

子类方法如图:

上图这段代码重写了父类的__init__初始化函数,但是父类方法在发送http请求的时候又需要用到__init__函数里面的url和data参数,这个时候就需要用到超继承来保留父类初始化函数里面的url和data参数。

推荐阅读