On Wed, 24 Nov 2010 12:08:04 -0800 (PST) Raymond Hettinger <pyt...@rcn.com> wrote: > I'm writing-up more guidance on how to use super() and would like to > point at some real-world Python examples of cooperative multiple > inheritance. > > Google searches take me to old papers for C++ and Eiffel, but that > don't seem to be relevant to most Python programmers (i.e. a > WalkingMenu example where a submenu is both a Entry in a Menu and a > Menu itself). Another published example is in a graphic library where > some widgets inherit GraphicalFeature methods such as location, size > and NestingGroupingFeatures such as finding parents, siblings, and > children. I don't find either of those examples compelling because > there is no particular reason that they would have to have overlapping > method names. > > So far, the only situation I can find where method names necessarily > overlap is for the basics like __init__(), close(), flush(), and > save() where multiple parents need to have their own initialization > and finalization. > > If you guys know of good examples, I would appreciate a link or a > recap.
I have never seen a good use of cooperative multiple inheritance in Python. My own experience trying to use it suggests me that I would have been better with independent "handler" classes (urllib2-style). Regards Antoine. -- http://mail.python.org/mailman/listinfo/python-list