Jason wrote: > Chaz Ginger wrote: >> Chaz Ginger wrote: >>> glenn wrote: >>>> hi - Im quite new to python, wondering if anyone can help me understand >>>> something about inheritance here. In this trivial example, how could I >>>> modify the voice method of 'dog' to call the base class 'creatures' >>>> voice method from with in it? >>>> >>>> class creature: >>>> def __init__(self): >>>> self.noise="" >>>> def voice(self): >>>> return "voice:" + self.noise >>>> >>>> class dog(creature): >>>> def __init__(self): >>>> self.noise="bark" >>>> >>>> def voice(self): >>>> print "brace your self:" >> I did forget to mention that in 'dog"s' __init__ you had better call >> creature's __init__. You might make it look like this: >> >> def __init__(self): >> self.noise = 'bark' >> creature.__init__(self) >> > > There's a problem with Chaz's __init__() method. Notice that the > creature class's __init__ sets self.noise to the empty string. In this > case, the superclass's __init__() method should be called first: > > class dog(creature): > def __init__(self): > creature.__init__(self) > self.noise = "bark" > def voice(self): > print "brace your self:" > creature.voice(self) > > --Jason > Very true....I was showing him in "spirit only"...lol.
Chaz. -- http://mail.python.org/mailman/listinfo/python-list