前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >超继承

超继承

作者头像
清菡
发布2020-12-02 16:41:32
2880
发布2020-12-02 16:41:32
举报
文章被收录于专栏:清菡软件测试清菡软件测试

重写

就是把父类里面有的函数重新改写一下。

例如,因为子类重写了父类的方法,所以子类有101行代码,父类有100行代码,父类子类中这100行代码是一样的,只有1行是不同的。因为子类方法已经重写了父类的方法,所以不可以用继承。

超继承

想实现调用父类的方法输出,也可以调用子类的方法输出,又不想拷贝100行父类的代码。

只能用超继承在子类里面实现两个方法:一个是父类的方法,一个是子类自己的方法。

超继承就是子类先重写父类的方法,然后用“super(MathMethod_1,self).add()”这样超继承的方式来写。

超继承的目的:就是改写父类的方法,同时保留父类里面的代码。这样既能调用父类的方法输出又可以调用子类的方法输出。父类的特性我有,同时我也有自己的新特性。

代码语言:javascript
复制
class MathMethod:
    def __init__(self,a,b):
        self.a=a
        self.b=b

    def add(self):
        print("我是父类的add方法",self.a+self.b)

    def sub(self):
        return self.a-self.b

class MathMethod_1(MathMethod):
    def divide(self):
        return self.a/self.b#这个在继承里叫做拓展,它同时拥有__init__方法,加法,减法和除法。
    #叫做类里面的继承拓展。
    #拓展就是写个父类里面没有的函数。

    def add(self):#重写  重写就是把父类里面有的函数重新改写一下
#        print(self.a+self.b)
        super(MathMethod_1,self).add()#超继承
#MathMethod_1是子类名,self是实例。super会顺着子类MathMethod_1找到它的父类,然后调用父类里面这个add方法。
        print("我是子类的加法",self.a+self.b+10)
MathMethod_1(5,6).add()
# 输出:
# 我是父类的add方法 11
# 我是子类的加法 21

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 清菡软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 重写
  • 超继承
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档