首页 > 其他 > 详细

类的继承查询策略:广度优先

时间:2017-10-28 00:58:09      阅读:327      评论:0      收藏:0      [点我收藏+]

#类的继承方式:breadth first广度优先的查询策略,继承按照B——C——A的顺序
注意:python2中经典类是按照深度优先来继承的;新式类是按照广度优先继承的
pyhton3则完全按照广度优先来继承的
ex1:
技术分享
 1 class A(object):
 2     def __init__(self):
 3         print("A")
 4 class B(A):
 5     def __init__(self):
 6         print("B")
 7 class C(A):
 8     def __init__(self):
 9         print("C")
10 class D(B,C):
11     pass
12 obj=D()
View Code

执行结果是打印B

ex2:

技术分享
 1 class A(object):
 2     def __init__(self):
 3         print("A")
 4 class B(A):
 5     pass
 6     # def __init__(self):
 7     #     print("B")
 8 class C(A):
 9     def __init__(self):
10         print("C")
11 class D(B,C):
12     pass
13 obj=D()
View Code

执行结果是打印C

ex3:

技术分享
 1 class A(object):
 2     def __init__(self):
 3         print("A")
 4 class B(A):
 5     pass
 6     # def __init__(self):
 7     #     print("B")
 8 class C(A):
 9     pass
10     # def __init__(self):
11     #     print("C")
12 class D(B,C):
13     pass
14 obj=D()
View Code

执行结果是打印A

同理:多继承的方法和这个原理相同,多继承中参数的次序是对子类的继承有影响的

类的继承查询策略:广度优先

原文:http://www.cnblogs.com/pythonkids/p/7745775.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!