refering to base classes
Chaz Ginger
cginboston at hotmail.com
Tue Aug 29 10:58:12 EDT 2006
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:"
>>
>> thanks
>> glenn
>>
> Try this:
>
> class dog(creature):
> .....
> def voice(self):
> print "brace your self:"
> creature.voice(self)
>
> This should do it.
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 is another approach - using Superclass - but I will leave that
exercise to the reader.
More information about the Python-list
mailing list