[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ambiguous inheritance question
>
> Dear Self interest group,
>
> What are peoples opinions on the following:
>
> given an inheritance hierarchy as below:
>
> A
> / \
> B C
> \ /
> D
>
> where B and C are parents of D, and A is the parent of B and C,
>
> If A defines slot m, and B defines its own version of slot m, if you send D
> the message m, you get an ambiguous selector error (as expected).
>
> How about if D got the m in B, because it does override the one in A,
> after-all. What I mean is that the m in B overrides the very same slot m that
> D inherits via C. If it was a different m that it was overriding I'd be
> totally happy with an ambiguous selector error.
>
> What do you think? Would the proposed scheme invite obscure bugs? Would it
> be difficult to understand? You may think that this sort of situation doesn't
> occur often enough to be a problem - maybe true - but dispite that, what do
> you think?
What if D is using the m it inherited from B to hold a restricted
type of string that has to have a certain format, then you call a
method f inherited from A which modifies m without respecting the
restricted string format required by B?
Dave Yost