1. 程式人生 > >Python支援多重繼承嗎?

Python支援多重繼承嗎?

繼承是面向物件程式設計的一個重要方式,通過繼承,子類可以擴充套件父類的功能,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的特性,是多重繼承最基本的用法,除此之外,還有很多用法,多重繼承的使用是需要注意的,使用不當,它帶來的麻煩可能比解決的問題還多,因此,除非現有程式碼無法實現想要的功能,建議不考慮使用多重繼承!