class A
def foo; puts "foo in A"; end
end
class B<A
alias :foo_A :foo
private :foo_A
def foo; super; puts "foo in B"; end
def bar; foo_A; puts "bar in B"; end
end

irb(main):012:0> B.new.bar
foo in A
bar in B