簡體   English   中英

在繼承的情況下,是否可以通過在python中使用子類對象引用來調用第二個父類方法? 如果是,那怎么辦?

[英]Is it possible to call 2nd parent class method by using child class object reference inside python in case of inheritance? If yes then how?

我最近開始探索python技術。 我做運動時發現一個問題。

假設我們有兩個具有不同名稱的類,但兩個類中都存在具有相同名稱的方法,且沒有參數。 例:

class Parent_1: # define parent class
    def myMethod(self):
        print 'Calling parent method_1'

另一個是

class Parent_2: # define parent class
    def myMethod(self):
        print 'Calling parent method_2'

我還有另一個類(子類),它們繼承了這兩個類。

class Child(Parent_1, Parent_2): # define child class
    print "abc"
    #Parent_1().myMethod();
    #Parent_2().myMethod();

看到這里,如果我嘗試調用第二類方法,那么我可以在子類中使用第二個父類引用進行調用。 但是,當我嘗試通過使用子類對象引用從外部進行調用時。

c = Child()
c.myMethod()

輸出為:

abc
Calling parent method_1

在這里,您可以看到它將默認使用子類引用調用第一個父類方法。

如果我想使用子類引用顯式調用另一個類的相同方法而不更改繼承的基類順序,該怎么辦。

有可能嗎? 如果是,那怎么辦?

在此先感謝您,並給我您有關此問題的寶貴答案,如果我忘記在這里提及任何內容,請提出建議。 最好的建議或答案將不勝感激。

您可以調用unbound函數並顯式傳遞self參數:

Parent_2.myMethod(c)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM