python学习笔记18 类的继承单继承多继承经典类新式类深度优先广度优先

    技术2025-08-27  9

    class Person(Animal): #括号里面的是 父类/基类/超类 括号外面的是 子类/派生类

          pass

    继承的优点: 1节省代码 2规范代码 

    继承的初识:

    子类以及子类实例化的对象,可以访问父类的任何方法或变量,类名可以访问父类所有内容

    既要执行子类的方法,又要执行父类的方法有2种解决方案(2种写法,一个效果)

    NO.1 在子类方法中直接引用父类方法并执行.

    NO.2 super(Bird,self).__init__(name,sex,age)

              或 super().__init__(name,sex,age)

     

    继承的进阶: 

    继承: 单继承,多继承

     

    类: 经典类,新式类 

    经典类: 不继承object类都是经典类.  python2x 中所有的类默认都不继承object,所以既有经典类又有新式类.

    新式类: 凡是继承object类都是新式类.  python3x 中的类都默认继承object,所以都是新式类

     

    单继承:  新式类,经典类查询顺序一样

    多继承:  新式类:遵循广度优先(广度优先: 每个节点有且只走一次,即是:如果下一个节点能通过其他路径走到,则他不走)

                   广度优先查询方法 F.mro( ) , 查询类的继承顺序 似乎只适用于新式类

                   经典类:遵循深度优先(深度优先:不会对下一个节点进行其他路径存在判断,即是一条路走到底(hei))

     

     

     

     

     

     

     

     

     

     

    Processed: 0.015, SQL: 9