2018-04-12

作者: 鬼魅舞狮 | 来源:发表于2018-04-12 20:33 被阅读0次

                                      新式类 和 旧式类 的区别

    一:首先先来说说这两种类的共性;

        (1):顾名思义 就是类的特性 (封装、继承、多态【鸭子类型】)

                     新式类和旧式类 都是在继承是引用的的一些语句  实现的功能就                     是继承的任务

    二:两者的区别;

        (1):顾名思义 就是类的特性 (封装、继承、多态【鸭子类型】)

                     在python2 和python3 中的写法完全不一样也可说是定义方法不 一样

                    因为Python 2.x中默认都是经典类,所以只有显式继承了object才是新式类

                    而Python 3.x中默认都是新式类,不必显式的继承object


                    新式类更符合oop的编程思想 ,统一了python中的类型机制。

       三:其次

          新式类对象可以直接通过__class__属性获取自身类型:type

         继承搜索的顺序发生了改变,经典类多继承属性搜索顺序:         

         先深入继承树左侧,再返回,开始找右侧;新式类多继承属性搜索顺序:         先水平搜索,然后再向上移动

    新式类增加了__slots__内置属性, 可以把实例属性的种类锁定到           __slots__规定的范围之中

    新式类增加了__getattribute__方法

    四:为大家写上一段新式类和旧式类继承关系的代码

          这是新式类    等于我继承自C

          旧式 类就是我继承自A

    五:python2中定义新式类  旧式类

    原文出处

                                                                                面向对象

    相关文章

      网友评论

        本文标题:2018-04-12

        本文链接:https://www.haomeiwen.com/subject/vopfkftx.html