【发布时间】:2012-06-04 04:20:37
【问题描述】:
以下代码会产生错误:
class A(object):
def say_something(self):
print(self.foo)
print(self.__bar)
class B(A):
def __init__(self):
self.foo = 'hello'
self.__bar = 'world'
test = B()
test.say_something()
'hello' 打印成功,但 'world' 生成以下错误:
print(self.__bar)
AttributeError: 'B' 对象没有属性 '_A__bar'
对此我感到很惊讶,我希望我的父类有一个方法,该方法可以访问其子类保证拥有的私有属性。有解决这个问题的标准方法吗?
【问题讨论】:
标签: python oop class inheritance