Why less emphasis on private data?
Paul Rubin
http
Sun Jan 7 22:21:04 EST 2007
"Paul Boddie" <paul at boddie.org.uk> writes:
> > Consider that the above three class definitions might be in separate
> > files and you see how clumsy this gets.
>
> What are you trying to show with the above? The principal benefit of
> using private attributes set on either the class or the instance is to
> preserve access, via self, to those attributes defined in association
> with (or within) a particular class in the inheritance hierarchy, as
> opposed to providing access to the "most overriding" definition of an
> attribute. This is demonstrated more effectively with a method on class A:
Right, the problem is if those methods start changing the "private"
variable. I should have been more explicit about that.
class A:
def __init__(self):
self.__x = 3
def foo(self):
return self.__x
class B(A): pass
class A(B):
def bar(self):
self.__x = 5 # clobbers private variable of earlier class named A
More information about the Python-list
mailing list