> 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.