从child访问其他模块的Parent成员的访问方法

时间:2017-01-09 20:42:34

标签: python python-3.x

Python新手。道歉的标题。一直在寻找这个问题的日子:S

我来自PHP背景,我可以在自己的文件中创建类,然后只要我对它们有引用就可以从任何地方调用这些类。

例如;

  • 要求A级的Z级。

  • 然后让B类扩展A类。

  • 然后可以从B类调用Z类的方法。

我希望有一个父类,其中包含其他类可以扩展的方法和成员,这样我每次创建一个以自己的方式不同的类时都不会重新发明轮子,但也有相似之处到其他班级。

也许我对模块如何在Python中工作的理解是错误的?以下是我正在努力实现的一个例子。我是否需要在一个模块中使用所有这些类?有人可以解释我正在尝试做的过程吗?

import Z

class A():
    def __init__(self):
        self.varZ = Z()
        self.some_value = None

    def a_setter_function(self, value):
        self.some_value = value

然后将类扩展,例如B类到X类;

import A

class B(A):
    def some_function(self):
        something = self.varZ.do_something_from_z_class()

    def set_value(self, value):
        self.a_setter_function(value)

总是加注;

'ClassB' object has no attribute 'varZ'

从B类调用'a_setter_function()'没有问题。

也可以从A类调用varZ上的方法。

我能想出的唯一解决方案是在A类中调用一个方法(从B类调用),该方法从类Z调用该方法。即我试图从B类调用的方法。

为什么我不能通过其父类A?

从类B调用Z类的方法

0 个答案:

没有答案