【问题标题】:How to call foo() function from class A如何从 A 类调用 foo() 函数
【发布时间】:2014-01-29 18:15:21
【问题描述】:
class A(object):
    def foo(self):
        print 'A'

class B(A):
    def foo(self):
        print 'B'

class C(B):
    pass

c = C()
c.foo()
>>> B

我想调用 A 类的 foo() 方法,那么如何调用这个 foo() 方法,让它打印 'A'

【问题讨论】:

    标签: class oop python-2.7 inheritance multiple-inheritance


    【解决方案1】:

    要直接回答您的问题,您可以这样定义C

    class C(B):
        def foo(self):
            A.foo(self)
    

    然而,一个更好的问题可能是:你为什么要这样做?需要访问同样在父类中定义的“祖父母”的函数的类是一个很好的迹象,表明您的继承模型并不理想。例如:C 是否需要来自B任何东西;可以直接从A继承吗?

    【讨论】:

    • 谢谢,这是面试时问我的问题,我也很困惑为什么有人会尝试这个。
    猜你喜欢
    • 2015-09-07
    • 1970-01-01
    • 2019-09-02
    • 1970-01-01
    • 2011-03-26
    • 2014-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多