James Reynolds wrote:
I have another question related to OOD. What I have is a module with
one parent class and two child classes. Some stuff is done to the
object that is passed to the function in one of the child classes and
this then calls a function from the global class passing local
variables (from the child class).
When I do this, I am told: AttributeError: 'HillBuilder' object has no
attribute 'MountainBuilder'
The question is, what am I doing wrong?
Here is an example:
class MountainBuilder(object):
def __init__(self, mountain):
self.mountain = mountain
self.mountain_func
self.pinetree_func
def pinetree_func(self, knoll)
do stuff to knoll
return knoll
def mountain_func(self, hill)
knoll = hill * 2
pinetree = pintree_func(knoll)
return hill
class HillBuilder(MountainBuilder):
def __init__(self, mountain):
OptionLoad.__init__(self, mountain)
self.MountainBuilder.mountain_func
self.hill_func
def hill_func(self)
hill= do stuff to self.mountain
grassyknoll = MountainBuilder.mountain_func(hill)
return grassy knoll
do stuff with grassy knoll
------------------------------------------------------------------------
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor
The line grassyknoll = MountainBuilder.mountain ...
Since you inherit MountainBuilder you call the mountain_func (which is a
method :-) ) with self:
grassyknoll = self.mountain_func(hill)
All methods inside the MountainBuilder can be called as if they are a
part of the HillBuilder (thus inheritance).
Cheers,
T
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor