簡體   English   中英

如果在python中有多個繼承,則從MRO中的父類向上重載方法

[英]method overloading from parent class up in the MRO in case of multiple inheritance in python

我有2個類cls1和cls2,以及一個子類chld,它們都對它們進行了擴展

cls1和cls2都有方法callMyName()

如果我想從chld在MRO中啟動的cls 1中調用callMyName(),該怎么辦

您可以從以下代碼片段中獲得基本的了解:

class cls1(object):
   def callMyName(self):
      print('cls1.method')
      super(cls1, self).method()  

class cls2(object):
   def callMyName(self):
     print('cls2.method')


class chld(cls1, cls2):
   pass

chld.mro()
[<class '__main__.chld'>, <class '__main__.cls1'>, <class    '__main__.cls2'>, <type 'object'>]
chld().callMyName()
cls1.callMyName
cls2.callMyName

暫無
暫無

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

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