Hi Roberto > If you want dog.voice() to just print "voice: bark", you just have to omit > the voice method for the dog class: it will be inherited from creature. > I would have thought this would be correct, but in this case, plus in others im playin with, I get this issue: ----------------------- given animal.py is: class creature: def __init__(self): self.noise="" def voice(self): return "voice:" + self.noise
class dog(creature): def __init__(self): self.noise="bark" then I get this outcome... >>>import animal >>> beagle=animal.dog >>> beagle.voice() Traceback (most recent call last): File "<input>", line 1, in ? TypeError: unbound method voice() must be called with dog instance as first argument (got nothing instead) >>> ------------------------ So I guess it wants something in position of self? any idea what Im doing wrong? - this would be very handy as its a point Im stymied on a couple of 'projects' thanks Glenn > If you want dog.voice() to do something else, you can call superclass' > method like this: > > def voice(self): > creature.voice(self) > print "brace your self" > any_other_magic() > > HTH > -- > Roberto Bonvallet -- http://mail.python.org/mailman/listinfo/python-list