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