客户端同时使用a
和b
,而MixinB使用a
class MixinA(object):
def a(self):
pass
class MixinB(object):
def b(self):
self.a()
class Client(MixinA, MixinB, object):
def foo(self):
self.a()
self.b()
当我不了解MixinA时,我不满意MixinB打电话给a
或者,我可以做,
class MixinA(object):
def a(self):
pass
class MixinB(MixinA, object):
def b(self):
self.a()
class Client(MixinB, object):
def foo(self):
self.a()
self.b()
现在,客户不能不依赖MixinB而使用MixinA,
有些ClientA,ClientB和ClientA可能只想使用MixinA,但是它需要依赖MixinB(并且必须知道MixinB会带来MinxA)