学习日志0820类的继承

Posted jianhaozhou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习日志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

 

以上是关于学习日志0820类的继承的主要内容,如果未能解决你的问题,请参考以下文章

python基础学习日志day6-类的经典类vs新式类

python系统学习14类的继承与创新

java 代码片段

有没有办法在它的孩子中修改嵌套类的实现?

Python学习第二天:面向对象之继承

用视图控制器类继承视图:新类会实例化基类的 UI 对象吗?