mixins that don't down-call?

J

Joshua Spoerri

Anybody have an idea for how to do python mixins that don't down-call?

Thanks

(
Mixins from different vendors might use the same method names for unrelated
features, but should continue to work sensibly.

It's fine to have one mixin method override another in its "public" interface,
but overriding a mixin's internal methods in its "protected" interface should
only happen under explicit extension.

e.g.
def simplyMixin(*classes):
c = copy.copy(classes[0])
c.__bases__ += classes[1:]
return c()

class artist:
def draw(self): ...
class cowboy:
def draw(self): ...
def drawAndShoot(): self.draw() ...
artisticCowboy = simplyMixin(artist, cowboy)()
artisticCowboy.draw() #draw a picture
artisticCowboy.drawAndShoot() #take out gun and fire it
)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,065
Latest member
OrderGreenAcreCBD

Latest Threads

Top