Python:當父類擁有同名的方法

繼承作爲面向對象的三大特性之一,爲我們的編程帶來極大的便利,更好地掌握繼承能夠讓我們寫出更加優美簡潔的代碼。本篇博客意在讓讀者瞭解當父類擁有同名方法時,子類繼承方法的規則。首先觀察以下兩個示例:

class A:
    def method1(self):
        print('A')  
class B:
    def method1(self):
        print('B')
    def method2(self):
        print('B')

class C:
    def method1(self):
        print('C')
    def method2(self):
        print('C')
class D(A,C,B):
   pass

d = D()
d.method1()
d.method2()

運行結果
A
C
class A:
    def method1(self):
        print('A')  
class B:
    def method1(self):
        print('B')
    def method2(self):
        print('B')

class C:
    def method1(self):
        print('C')
    def method2(self):
        print('C')
class D(A,B,C):
   pass

d = D()
d.method1()
d.method2()

運行結果
A
B

通過以上兩個示例可以發現,當父類擁有同名方法時,子類中的繼承的方法與繼承時父類的順序有關,並且前一個父類的方法會覆蓋後面父類中的同名方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章