zoukankan      html  css  js  c++  java
  • python全栈脱产第24天------面向对象编程---继承

    定义:继承是一种新建类的方式,新建的类称之为子类,被继承的类称之为基类、父类、超类

       继承描述的是一种“遗传”的关系:子类可以重用父类的属性

       注意:1.在python中支持一个子类同时继承多个父类

          2.python中类分为两种:新式类:但凡继承object类,以及该类的子类都是新式类,在python3中默认继承object类

                     经典类:没有继承object类,以及子类都是经典类,之后python2中才分新式类与经典类

    用处:减少代码冗余

      调用父类的方法来减少代码冗余:方式一:指名道姓地访问某一个类的函数

                      注意:1.该方式与继承是没有关系的  2.访问某一个类的函数,没有自动传值的效果

                        通过类名.加方法名加参数来调用

                    方式二:只能在子类中使用  python2中:super(自己的类名,对象自己)python3中:super()

                        调用super()会得到一个特殊的对象,该特殊的对象是专门用来引用父类中的属性,完全参照mro表

                          注意:1.该方法与继承严格依赖与继承的mro列表  2.访问是绑定的方法,有自动传值的功能

                        super().方法名加参数

    单继承背景下属性查找的顺序:对象-》对象的类-》父类-》....

    多继承背景下属性查找的顺序:对象-》对象的类-》按照顺序从左到右的顺序一个个的分支的找下去

      出现菱形继承:新式类:广度优先查找,在最后一个分支查找顶级类,有mro方法可以查看mro列表

             经典类:深度优先查找,在第一个分支就查找顶级类

  • 相关阅读:
    phpMyAdmin cannot login to mysql server
    emulation 与 simulation 的区别
    C++类构造函数中的成员初始化
    KEY IDEA For Topology-based Analysis
    NOTES ON [Efficient and Cost-Effective Hybrid Congestion Control for HPC Interconnection Networks]
    Install Google Chrome On Ubuntu 14.04
    idea 远程debug调试
    癌细胞作用于身体
    应用高cpu高内存占用
    Jackson总结:常用注解、整合spring、自定义JsonSerializer
  • 原文地址:https://www.cnblogs.com/zhouyi0316/p/9506622.html
Copyright © 2011-2022 走看看