zoukankan      html  css  js  c++  java
  • 学习日志0820类的继承

    1 什么是继承

      继承是一种新建类的方式,新建的类称之为子类/派生类,被继承的类称之为父类/基类/超类

      继承的特性:子类可以遗传/重用父类的属性

      python中继承的特点:

      1 python中一个子类可以同时继承多个父类

      2 在继承的背景下去说,python中的类分为两种:

        新式类,经典类:

        新式类:但凡继承了object的类Foo,以及该类的子类都是新式类

          在python3中都是新式类,默认继承object

        经典类:没有继承object的类,以及该类的子类

    在子类派生出的新方法中重用父类的功能的方式一:

    指明道姓的引用一个类中的函数:

      

    class a:
        def __init__(self,name,age,sex):
            self.name = name
            self.age = age
            self.sex = sex
    
    class b(a):
        def __init__(self,name,age,sex,b)
            a.__init__(self,name,sex)
            self.b= b

      总结:

        1 与继承无关

        2 访问没有自动传值的效果

      在多继承背景下属性的查找的优先级:

        如果一个子类继承多个分支:就一个分支一个分支的查找,一个分支完全找完再找另一个分支

      在菱形继承中:

        新式类:广度优先查找先(一个分支一个分支的查找,所有的分支都查找完了之后再找顶级的)

        经典类:深度优先查找(一个分支一个分支的找,第一个分支直接到顶级)

      在子类中重用父类的方式二:

        super()

    class a:
        def __init__(self,name,age,sex):
            self.name= name
            self.age = age
            self.sex = sex
    
    class b(a):
        def __init__(self,name,age,sex,b):
            supper().__init__(name,age,sex)
            self.b = b
  • 相关阅读:
    Mysql之数据库设计
    jQuery取得select选中的值
    抛java.lang.NoClassDefFoundError: org.joda.time.ReadablePeriod错误
    JS限制并且显示textarea字数
    myBaits association的使用
    IOS-Plist文件存储(1)
    Golang基于学习总结
    freemarker定义自己的标签错误(八)
    教你使用vim表白
    Cocos2d-x 3.2 大富翁游戏项目开发-第八部分 角色的散步路径
  • 原文地址:https://www.cnblogs.com/jianhaozhou/p/9505470.html
Copyright © 2011-2022 走看看