如何从具有继承性的类调用基类的对象中的方法?

时间:2016-09-15 00:09:35

标签: python python-2.7

我有两节课。一个继承了另一个:

class A(object):
    def __init__(self):
        self.attribute = 1

class B(A):
    def get_attribute(self):
        return self.attribute

我希望能够在类型A的对象上调用B中的方法。我无法编辑类A(它是内置类)。当我尝试从B调用方法时,会出现AttributeError。

a = A()
a.get_attribute()

Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    a.get_attribute()
AttributeError: 'A' object has no attribute 'get_attribute'

有没有办法从B调用方法而不明确声明数据是B类型?

1 个答案:

答案 0 :(得分:0)

虽然不鼓励你这样做,但你可以使用像函数这样的任何方法。在你的情况下,它将是

B.get_attribute(a)

原因是该方法必须与a的类型兼容。