zoukankan      html  css  js  c++  java
  • 类的继承

    为什么要继承?

    提高代码的重用性,减少冗余

    继承分哪两种?

    单继承:在py3版本,所有的类是新式类,继承的最底层类是object,如果不写object,会默认你的父类(超类,基类)是object

        

    class A(类的名字B):
        pass

        A就是B的父类
        A就是子类,python类
        B就是超类,基类,父类

        在py2版本,所有的类是经典类,继承的最底层类不是object,如果不写object,就是经典类,写了就会变成经典类

    多继承:在py3中,子类调用父类根据mro算法找

    # class Parent1:
    #     pass
    # class Parent2:
    #     pass
    #
    # class Son(Parent1,Parent2):
    #     pass
    #
    # print(Son.__bases__)

       

       

        在py2中,子类调用父类根据深度优先寻找

         

    子类单独拥有的属性叫派生属性,子类单独拥有的方法叫派生方法

    2.如果子类没有init方法,那么到父类去寻找,如果没有就报错

    3.如果子类有init方法,就用自己的但是得这么写

      super().__init__(参数一,参数二....) 

      父类名.__init__(self,参数一,参数二....)

      还有一种不建议,如下

      super(子类,self).__init__(参数一,参数二)  

    class Cat(Animal):
       def __init__(self,kind,name,eyes)
           self.eyes = eyes #派生属性
           #super().__init__(kind,name)
           #Animal.__init__(self,kind,name)
       def eat(self):  #派生方法
           pass

      

  • 相关阅读:
    几个常见的在线评测系统,及我的点评
    信息学奥赛培训教材推荐
    致,青春
    文明小博客,管理员及网址列表
    NOIP2013,复赛及同步赛,报名及比赛,专题页面
    浅谈浏览器兼容性问题-(1)产生、看待与思考
    前端经典笔试题(腾讯前端,三栏布局)
    浅谈web语义化
    浅谈表现与数据分离
    浅谈w3c标准
  • 原文地址:https://www.cnblogs.com/CNHK1949/p/10607166.html
Copyright © 2011-2022 走看看