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

Reply via email to