Python中菱形繼承是什么意思?Python菱形繼承如何執行

python是一個面向對象編程的語言,在python之中類是可以去繼承父類來使用它其中的所有對象的 。而一個類繼承多個類就被稱之為多重繼承,而多重繼承里面有一種特殊的現象就是菱形繼承 。下文會來詳細的給大家介紹一下什么是菱形繼承,以及它是如何執行的 。

Python中菱形繼承是什么意思?Python菱形繼承如何執行


一、菱形繼承是什么
菱形繼承的意思就是由幾個類繼承之后形成的關系圖是菱形的,例如現在有一個父類為A,然后又有兩個類B和C都繼承了A將其作為它們的父類 。接著還有最后一個類D同時繼承了類B和C,那么這四個類的之間繼承關系使用圖像來表示的話就是很像菱形了,代碼示例如下:
class A():    def __init__(self):        print('init A...')class B(A):    def __init__(self):        A.__init__(self)        print('end B...')class C(A):    def __init__(self):        A.__init__(self)        print('end C...')class D(B, C):    def __init__(self):        B.__init__(self)        C.__init__(self)        print('end D...')D()二、菱形繼承執行機制
菱形繼承的關鍵實際上在于方法的調用順序,在上面的代碼示例之中就是定義了四個類來實現菱形繼承,并且編寫了構造函數打印數據來查看它是如何調用的 。
從方法的調用結果就可以看出來類的執行順序為DBACA,在這個其中A調用了兩次,因為在python中同一個類在被多次調用的情況下就會默認的從左邊向上去找需要使用的方法 。而在找到A調用一次之后在C中又調用了類A,所以它才會去調用兩次 。
【Python中菱形繼承是什么意思?Python菱形繼承如何執行】以上就是關于“Python中菱形繼承是什么意思?Python菱形繼承如何執行”的全部內容了,希望對你有所幫助 。

    猜你喜歡