【Python基礎編程227 ● 面向對象 ● 同時繼承多個類,調用父類中指定的方法 】



 ---------Python基礎編程---------

Author : AI菌


 

【內容講解】

1.多繼承的格式:
class 子類名(父類1, 父類2, ...):
子類中的代碼
2.如果繼承了多個父類,且父類都有同名方法,則默認只執行第一個父類的
3. 如果要調用父類中指定的方法, 通過下面格式調用:
父類名.方法名(self, 實參1,實參2,...)
4. 調用時,參數self必須要加上,否則報錯

 

【代碼演示】

"""
1.多繼承的格式:
     class 子類名(父類1, 父類2, ...):
           子類中的代碼
2.如果繼承了多個父類,且父類都有同名方法,則默認只執行第一個父類的
3. 如果要調用父類中指定的方法, 通過下面格式調用:
     父類名.方法名(self, 實參1,實參2,...)
4. 調用時,參數self必須要加上,否則報錯
"""


class A:
    def __init__(self, a):
        self.a = a

    def methodA(self):
        print("---------methodA---------")

    def show(self):
        print("show from A")


class B:
    def __init__(self, b):
        self.b = b

    def methodB(self):
        print("---------methodB---------")

    def show(self):
        print("show from B")


# 讓C類同時繼承A,B兩個父類
class C(A, B):

    # 為了繼承A,B兩個父類中的屬性,需要重寫init方法,在方法中調用兩個父類中的init方法
    def __init__(self, a, b):
        # 調用A,B類中的init方法
        A.__init__(self, a)
        B.__init__(self, b)

    def test(self):
        # 調用A類中的show方法
        # self.show()
        A.show(self)  # show from A

        # 調用B類中的show()方法,self必須要加上,否則報錯
        B.show(self)  # show from B


c = C("a的屬性", "b的屬性")

print(c.a)  # a的屬性
print(c.b)  # b的屬性

c.methodA()  # ---------methodA---------
c.methodB()  # ---------methodB---------

# 如果繼承了多個父類,且父類都有同名方法,則默認只執行第一個父類的
# 執行A類的show()方法,不會執行B類的show()方法
c.show()  # show from A

# 調用test()方法,間接調用B類中的show()方法
# 調用B類中的show()方法,self必須要加上,否則報錯
c.test()

 

【往期精彩】

▷【Python基礎編程196 ● 讀取文件的4種方式】
▷【Python基礎編程197 ● 讀取文件的4種方式】
▷【Python基礎編程198 ● 讀取文件的4種方式】
▷【Python基礎編程199 ● Python怎么讀/寫很大的文件】
▷【Python基礎編程200 ● 讀取文件的4種方式】
▷【Python基礎編程201 ● 讀取文件的4種方式】
▷【Python基礎編程202 ● 讀取文件的4種方式】
▷【Python基礎編程203 ● 讀取文件的4種方式】

 

【加群交流】




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM