Python支援多重繼承嗎?
阿新 • • 發佈:2018-12-18
繼承是面向物件程式設計的一個重要方式,通過繼承,子類可以擴充套件父類的功能,Python也具有該特性,除此之外,Python還可以使用多重繼承。
語法:
class subClass(Base1,Base2)
該語法的含義是建立了一個subClass類,讓它同時繼承了Base1和Base2的相關特性,關於繼承還有以下規則需要遵循:
1. 繼承只會繼承父類的方法,不能繼承父類的變數;
2. 要想繼承父類的變數,需要執行父類的__init__(self)方法;
3. 下劃線開頭的變數或方法,會被認為是受保護的,不能直接點出來,但如果強制打出來的話也一樣能用,只是會有警告;
4. 靜態方法中不能使用self,用@staticmethod宣告這是一個靜態方法。
例項:
class A(object):
def __init__(self):
print('A')
super(A, self).__init__()
class B(object):
def __init__(self):
print('B')
super(B, self).__init__()
class C(A,B):
def __init__(self):
print('C')
super(C, self).__init__()
以上例項是子類C多重繼承了A和B的特性,是多重繼承最基本的用法,除此之外,還有很多用法,多重繼承的使用是需要注意的,使用不當,它帶來的麻煩可能比解決的問題還多,因此,除非現有程式碼無法實現想要的功能,建議不考慮使用多重繼承!