面向对象新式类和旧式类的区别

Posted q1ang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象新式类和旧式类的区别相关的知识,希望对你有一定的参考价值。

旧式类:

class jiushi():
    def __init__(self,a1):
        self.a=a1
    
class jiushi_son(jiushi):
    def __init__(self,a1):
        jiushi.__init__(self,a1)

 

 

新式类:(多继承时)

class xinshi(object):
    def __init__(self, a1):
        self.a = a1


class xinshi_son(xinshi):
    def __init__(self, a1):
        super(xinshi_son,self).__init__(a1)

 查询策略:

a.广度优先:先横向,再向上一级

b.深度优先:先向上一级,再横向

python2 经典类按照深度优先继承,新式类按广度优先继承

python3 经典类和新式类都按照广度优先继承

 

以上是关于面向对象新式类和旧式类的区别的主要内容,如果未能解决你的问题,请参考以下文章

类和对象

python开发学习-day07(面向对象之多态类的方法反射新式类and旧式类socket编程)

python 之简单浅谈新式类和旧式类(或称经典类)

python 高级之面向对象初级

八类

Python面向对象-3.定义类创建对象