> is there anyway to have the method in the parent object call the  
> overriden
> method in the child?

That's the default behaviour, actually.  In C++ terms, all methods  
are virtual.

Observe:

  class Parent
    def say_what
      virtual_method("Hello World")
    end
    def virtual_method(str)
      "I say: #{str}"
    end
  end

  class Child < Parent
    def virtual_method(str)
      "My parent says: #{str}"
    end
  end

  william = Parent.new
  william.say_what
  # => "I say: Hello World"

  billy = Child.new
  billy.say_what
  # => "My parent says: Hello World"

matthew smillie.