[self-interest] Re: A problem about tiebreaker rule in inheritance
Jecel Assumpcao Jr
jecel at merlintec.com
Mon Jan 19 21:24:57 UTC 2004
On Saturday 17 January 2004 21:21, cyberbaixing wrote:
> But I am still puzzled. Why the tiebreaker rule doesn't work here?
> Isn't object E sending the message f? Is D right on the path from B
> to E?
We were talking about "B f", not "B g":
> > That is exactly the error you would get when trying "B f"....
"B g" would indeed work in Self 1 or 2 (due to the tiebreaker rule as
you explained above) but would give you the "ambiguous message" error
in Self 3 or newer.
> May I understand your illustration like this?
> If C had a method named h which contains f. D doesn't have such a
> method. So when I send a message B f, then based on the tiebreaker
> rule, C f will be chosed. Is it right? If so, the tiebreaker rule
> seems only work between the parents of an object. It doesn't work
> among the grandparents of an object. :p
No, your first interpretation ("E sending f and D is on the path from B
to E") is correct.
But for "B h" it will result in C sending f and C is on the path from B
to C. See? Exactly the same rule.
Does anyone reading this *not* think that removing the feature from Self
was good thing? :-)
More information about the Self-interest