繁体   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