[英]Python Accessing to the parent class (Not inheritance)
是否可以访问另一个类内部的类中的父方法/属性?
class ClassA:
a = 'a'
class ClassB():
def method(self):
return self.a
instance = ClassA()
instance2 = instance.ClassB()
instance2.method()
不,嵌套类不会自动在实例之间产生关系。 您所做的就是在ClassA
上创建一个碰巧是类对象的属性。 在实例上调用该属性只会找到类属性,并且会在不了解或未引用ClassA
实例的情况下创建ClassB
的新实例。
您需要通过传递参考来使这种关系明确:
class ClassB():
def __init__(self, a):
self.a = a
def method(self):
return self.a
class ClassA:
a = 'a'
def class_b_factory(self):
return ClassB(self)
instance = ClassA()
instance2 = instance.class_b_factory()
instance2.method()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.