On 2007-01-08, Paul Rubin <http> wrote: > Dennis Lee Bieber <[EMAIL PROTECTED]> 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 -- http://mail.python.org/mailman/listinfo/python-list