zoukankan      html  css  js  c++  java
  • 新式类和经典类的区别

    经典类时 多继承时候 会深度查找 

    新式     多继承时候   会广度查找 

    父类或者以上有object 就是新式类  否则是经典类

    新式类  类内  属性 super().__init__

    经典类 类内  属性   类名.__init__

    经典  类外   类.方法(对象)

    新式类 super(子类,对象)

    Animal.__init__(self,name,aggressivity,life_value) #第一种经典派生属性  

    super().__init__(name,aggressivity,life_value)     新式类  

    Animal.eat(Two_dog) #类名.方法(对象) 继承父类

    super(Dog,Two_dog).eat()

    python 2  单继承 经典类 新式类都能用 

    python3  单继承默认新式类  但是经典类会自动转化成新式类

    多继承

     新式类会有object  按照广度优先

      print(F.__mro__) #只有新式才有这个属性可以查看线性列表,经典类没有这个属性 F代表最低的子类

    经典类深度优先

  • 相关阅读:
    BZOJ1070[SCOI2007]修车
    BZOJ1061[Noi2008] 志愿者招募
    BZOJ 3511 土地划分
    BZOJ3130 [Sdoi2013]费用流
    POJ1797 Heavy Transportation
    P2866 糟糕的一天
    P1155 双栈排序
    P1027 car的旅行路线
    POJ3037 Skiing
    POJ1125 Stockbroker Grapevine
  • 原文地址:https://www.cnblogs.com/xiaoluoboer/p/7897017.html
Copyright © 2011-2022 走看看