類的繼承查詢策略:廣度優先
阿新 • • 發佈:2017-10-28
class ron pen python gif hid img 深度優先 先來
#類的繼承方式: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 printView Code("C") 10 class D(B,C): 11 pass 12 obj=D()
執行結果是打印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):View Code12 pass 13 obj=D()
執行結果是打印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 passView Code14 obj=D()
執行結果是打印A
同理:多繼承的方法和這個原理相同,多繼承中參數的次序是對子類的繼承有影響的
類的繼承查詢策略:廣度優先