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菱形繼承如何執行”的全部內容了,希望對你有所幫助 。
猜你喜歡
- python中有哪些模塊可以進行郵件?python中郵件需要使用哪些模塊?
- 怎么在Mac的Word 2008中創建快速表?
- 怎么在Mac的Word 2011中錄制和播放音頻筆記?
- 怎么在word發布布局視圖中添加靜態指南?
- 怎么在Mac的Word 2008中使用筆記本布局進行演講?
- 怎么在Word 2008 for Mac中創建新窗口?
- 在Word 2002中設置語音識別?
- 怎么在ACT中使用Microsoft Word 2008!
- c4d中文版怎么安裝?c4d怎么設置中文界面?
- Krita怎么設置中文版?Krita怎么進行語言切換?
