<helmut.brandl@...> wrote:
> Attribute or routine is not important. If you inherit a feature under
2
> different names (that is what you did) you have replication, i.e. you
> have 2 features. In case of a routine this is true also. If you
> redefined the routine along one path the routines have different
code,
> if you didn't redefine, you have 2 routines with the same
> implementation. But you have *2* routines.
>
> Under dynamic bind it has to be clear, which one you want to call.
> Therefore the select is necessary. You can avoid the select only if
you
> define one inheritance path as nonconformant (via inherit {NONE}). I
> don't know, if non conformant inheritance is already implemented in
> Eiffelstudio.
The question is: i have 2 routines or one routine with two names?
OOSC (pag 553) say:
There remains to consider the case of conflicting redefinitions under
replication, that is to say when the repeated descendant inherits the
separately "redefined" features with different names, and they are both
effective.
I remark "redefine" because rename not is redefine and then not there
are replication and conflict.
Select rule (OOSC pag 555):
A class that inherits two o more different effective versions of a
feature from a repeated ancestor, and does not redefine them both, must
include exactly of then in a select clause.
The rule say two "different versions" in may case are only one versión.
Best regards
PD. I know not conformant inheritance but not is the case.
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/eiffel_software/<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/eiffel_software/join (Yahoo! ID required)
<*> To change settings via email:
mailto:
eiffel_software-digest@...
mailto:
eiffel_software-fullfeatured@...
<*> To unsubscribe from this group, send an email to:
eiffel_software-unsubscribe@...
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/