最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python可以多继承吗

    正文概述    2020-10-08   247

    python可以多继承吗

    面向对象的主要好处就是代码的重用,实现这一特点通过继承,继承创建的新类成为子类,被继承的类称为父类。

    如果在子类中需要父类的构造方法就需要显示的调用父类的构造方法,在调用基类的方法时,需要加上基类的类名前缀,且需要带上 self 参数变量。

    下面我们开始来讲解继承和多继承

    首先我们创建两个类,

    父类:Father类  子类:Child

    父类中属性为money,和一个方法play(),输出

    father play with me

    来表示继承父类的方法。在继承的时候我们需要在子类中导入父类

    父类的代码如下:

    class Father(object):
        def __init__(self,money):
            self.money=money
            print('money',money)
        def play(self):
            print('father play with me')

    因为孩子是继承父亲的,所以孩子类中也有money属性。 所以我们直接用child来继承Father类。

    child代码如下:

    from Father import Father
    class Child(Mother,Father):
        def __init__(self,money):
            Father.__init__(self, money)

    这个时候我们的child类就继承来自父类的属性 money 而且我们还继承了来自父类的方法play(),我们可以直接调用。

    来验证一下

    from Child import Child
        def main():
            c=Child(100)
            c.play()
    if __name__=='__main__':
        main()

    我们从输出台可以得到 money 100  father play with me

    多继承

    单继承有时候可能满足不了我们所需的所以我们就会遇到多继承,这个同样能够展示出代码的重用。

    同样是上边的例子,child不仅仅是继承来自父亲,还继承来自母亲。所以我们创建mother类

    class Mother(object):
        def __init__(self,face):
            self.face=face
            print('face',face)
        def play(self):
            print('mother go shopping with me')

    mothe类创建的属性为face,其次我们还定义的一个相同的方法play 是为了展示多继承中如果有相同的函数会调用哪个。

    然后我们重写一下child类

    from Father import Father
    from Mother import Mother
    class Child(Mother,Father):
        def __init__(self,money,face):
            Father.__init__(self, money)
            Mother.__init__(self,face)

    起源地下载网 » python可以多继承吗

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元