Gabriel Genellina wrote: > If walking in general, have some common structure, you can put the > "sketch" on Legs and let the derived classes "fill the gaps". This is > known as "Template Method Pattern" - look for it.
Or if you'd rather see a concrete example, here's how your toy example would look refactored using the template pattern: class Creature(object) def run(): pass def walk(): # lots of commands # that do not depend on the # number of legs but definitely # have to do with walking self._specialized_walk(*args, **kwds) # more commands def _specialized_walk(self, *args): raise NotImplementedError class UnipedalCreature(Creature): def _specialized_walk(self, *args, **kwds): # blahblah class BipedalCreature(Creature): def _specialized_walk(self, *args, **kwds): # blahblah HTH, George -- http://mail.python.org/mailman/listinfo/python-list