inheritance and private attributes
KN
vald at dead.art.pl
Wed Apr 21 14:56:25 EDT 2004
I've run into such problem:
I have something like this:
class A(object):
def __init__(self):
self.__value = None
class B(A):
def test(self):
if self.__value:
print "Ok."
else:
print "Empty."
>>> b = B()
>>> b.test()
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "<stdin>", line 3, in test
AttributeError: 'B' object has no attribute '_B__value'
Why I have no access to private attribute from a class that
inherits other class? I just want to have access to the same
private variables but also to extend its functionality by
adding a method that operates on those private attributes and
I'm unable to do so.
Is this normal behaviour? What should I do if I want to
override method and use private attribute, or just add
some other method which changes this attribute?
/K
More information about the Python-list
mailing list