zoukankan      html  css  js  c++  java
  • python全栈开发 * 20 继承知识点汇总 * 180530

    20 面向对象的三大特征之一(继承,多态,封装) 
                      -----继承

    1.继承的定义: 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类;父类又可称为基类或超类,
    新建的类称为派生类或子类 (子类可以继承父类的一切)
    2.继承的写法:
    Class 类名(类名1):
    类名:子类 , 派生类
    类名1:父类 , 基类
    3.如果没有指定基类,python的类会默认继承object类,object是所有python类的基类,(python3x中)
    4.最大特点:节省代码,与其它类发生关系.
    5.子类如何找到父类的所有内容:
    对象先在本类中找,如果没有,则通过本类中的"父类指针"找父类里的东西(只能单向找).
    6.继承的分类:
    (1)按版本分:
    python3x (都是新式类)
    类默认都继承object,继承object的类叫"新式类".
    python2x
    类默认什么都不继承,不继承object的类叫做"经典类".如果在Python2x中让他继承object就变成新式类.
    (2)按继承数量分:
    单继承:
    新式类和经典类的查询顺序都是一直向上.
    多继承:(钻石继承)
    Python的类如果继承了多个类,那么其寻找方法的方式有两种,分别是:深度优先(经典类)和广度优先(新式类)
    D
    B(D) C(D)
    A(B,C)
    经典类
    首先去A类中查找,如果A类中没有,则继续去B类中找,如果B类中么有,则继续去D类中找,
    如果D类中么有,则继续去C类中找,如果还是未找到,则报错
    新式类:首先去A类中查找,如果A类中没有,则继续去B类中找,如果B类中么有,则继续去C类中找,
    如果C类中么有,则继续去D类中找,如果还是未找到,则报错
    在上述查找过程中,一旦找到,则寻找过程立即中断,便不会再继续找了

    多继承查询方式:
    通过print(类名.mro())查询查找顺序.
    新式类广度优先相关知识:
    广度算法:用最少的次数走完每个节点.每个节点有且只走一次.
    7. 如何在子类中执行父类方法 (两种方式)
    (1).父类名.方法(父类需要的参数)
    (2).super().__init__(self,父类需要的参数)
  • 相关阅读:
    webdav srs相关
    How To Configure WebDAV Access with Apache on Ubuntu 14.04
    ubuntu 编译lighttpd
    srs编译及推流测试
    Compile pciutils (lspci, setpci) in Windows x86,在 Windows x86 平台下编译 pciutils (lspci, setpci)
    mingw MSYS2 区别
    Qt之美(三):隐式共享
    Qt之美(二):元对象
    Qt之美(一):d指针/p指针详解
    C++的栈空间和堆空间
  • 原文地址:https://www.cnblogs.com/J-7-H-2-F-7/p/9245192.html
Copyright © 2011-2022 走看看