Why less emphasis on private data?
Neil Cerutti
horpner at yahoo.com
Mon Jan 8 09:53:40 EST 2007
On 2007-01-08, Paul Rubin <http> wrote:
> Dennis Lee Bieber <wlfraed at ix.netcom.com> writes:
>> I'd be quite concerned about the design environment rather than the
>> immediate code... Probably need something ugly like...
>>
>> from mod1 import B as B1
>> from mod2 import B as B2
>> class A(B1, B2):
>> ....
>
> Interesting. I just tried that. mod1.py contains:
>
> class B:
> def foo(self): self.__x = 'mod1'
>
> mod2.py contains:
>
> class B:
> def bar(self): self.__x = 'mod2'
>
> And the test is:
>
> from mod1 import B as B1
> from mod2 import B as B2
>
> class A(B1, B2): pass
>
> a = A()
> a.foo()
> print a._B__x
> a.bar()
> print a._B__x
>
> Sure enough, mod2 messes up mod1's private variable.
When faced with this situation, is there any way to proceed
besides using composition instead?
--
Neil Cerutti
We've got to pause and ask ourselves: How much clean air do we really need?
--Lee Iacocca
More information about the Python-list
mailing list