码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-10-28 01:05:44      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:alt   多继承   col   python   继承方式   blog   gif   广度优先   open   


#类的继承方式: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

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

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

标签:alt   多继承   col   python   继承方式   blog   gif   广度优先   open   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!