[Tutor] What is a mixin class?
Kent Johnson
kent37 at tds.net
Wed Jan 17 21:59:58 CET 2007
(resending to the whole list)
Don Taylor wrote:
> I have a vague idea what a mixin class is, I would like to get a better
> handle on it.
>
> It is a term that is used quite often in Python circles, but I can't
> find a definition.
>
> I guess that because of multiple inheritance Python does not need a
> formal way of specifying mixin classes so I presume that there is some
> conventional interpretation/coding that is followed for mixin classes.
>
> So, what constitutes a mixin class and what are the conventional ways to
> denote them in code?
>
> Don.
>
> I notice that Ruby has single inheritance plus mixin classes so maybe
> somebody who knows Ruby could throw some light on in what way a mixin is
> different from normal superclass.
A mixin is a class that is not intended to stand on its own, rather it
adds some behaviour to the class that it is mixed in to. Some discussion
here:
http://en.wikipedia.org/wiki/Mixin
http://c2.com/cgi/wiki?Mixin
This page
http://c2.com/cgi/wiki?MixinsForPython
points to SocketServer.ForkingMixin and SocketServer.ThreadingMixin as
examples from the Python standard library.
HTH,
Kent
More information about the Tutor
mailing list