Setup:
class Parent
def foo
bar()
end
def bar
# more stuff
end
end
class Child < Parent
def bar
# over riding bar
end
end
obj = Child.new
obj.foo
K, now naturally, due to inheritance this will call Parent#foo in
which it calls ‘bar()’
My problem is this:
Why does it call Parent#bar instead of Child#bar? … according to
inheritance and method overriding Parent#bar is replaced with
Child#bar … so when Parent#foo calls some method named ‘bar’, should
it not call Child#bar due to obj being an instance of Child??
Where am I going wrong?
Brenton B wrote:
Why does it call Parent#bar instead of Child#bar? … according to
inheritance and method overriding Parent#bar is replaced with
Child#bar … so when Parent#foo calls some method named ‘bar’, should
it not call Child#bar due to obj being an instance of Child??
This question will get better results on the Ruby-talk mailing lists and
newsgroups.
Where am I going wrong?
What is your evidence that the parental bar() gets called? Post your
question,
with that addition, that to the Ruby group(s).
–
Phlip
Hmm … good though, I’ll throw it over there.
I’m a tool … never mind got it going … there was a mix up with
alias_method, wasn’t setup the way I thought it was …
ugh.