Python中使用多重继承
生活随笔
收集整理的這篇文章主要介紹了
Python中使用多重继承
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在Python中(包括比較成熟的面向對象語言,比如Java, C#)中,一般只能進行單繼承,當然C++是多繼承的。多繼承會使得繼承結構比較復雜,不容易理清,這估計就是為什么后來新的面向對象語言中,沒有多繼承的原因。雖然這些語言不能進行多繼承,但可以通過接口來替代,比如讓類實現多個接口,效果一樣。
說了這么多,再回到Python來,我之前以為Python中也只能實現單一繼承,后來才知道可以多重繼承。 下面是一個多重繼承的例子。
分別有三個類,Point、Size、Rectangle類,Rectangle繼承Point和Size,程序很簡單,比較好理解。
輸出結果
Point Constructor Size Constructor Point Constructor Size Constructor Rectangle Constructor {X:3,Y:4} {Height:10,Width:10} {X:3,Y:4},{Height:10,Width:10} 3.0一般如果要在子類中調用父類被覆蓋的方法,使用super().method(),這種方法適合單繼承。 上面的例子是多繼承,有兩個子類的__init__()方法,因此需要使用父類的名稱,就像上面程序中使用的那樣。
Point.__init__(self, x, y) Size.__init__(self, height, width)總結
以上是生活随笔為你收集整理的Python中使用多重继承的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通过Matlab发送邮件要注意的问题
- 下一篇: C#中的::运算符的作用