when should sends be virtual?

Guenter Kniesel Guenter.Kniesel at Informatik.Uni-Bonn.DE
Thu Jan 19 12:22:40 UTC 1995

rainer wrote:

  > randy wrote:
  > > We were trying to support maximum flexibility. ...
  >   then you defined flexibility as possibilities for the client (child) to
  > change the behavior of the server (ancestor).  (would YOU want to allow your
  > child to alter your behavior? ;-) 
No, the child does not alter my behaviour resp. the behaviour of its ancestor.
If a message is addressed to me / the ancestor then whatever the child defines
has no influence. 
The child can only modify what it _inherited_ from me and that's the way it 
should be! I hope that my son will learn to behave differently from me in 
many situations. Unfortunately, that will not automatically change the way 
I behave.
  > > ... Why would you want to say
  > > to a child "you cannot specialize the use of `foo' in this method, even
  > > if you want to"? ...
  > because of reliability reasons, of course.
  > ("in a delegation chain, any object may screw up ancestors' semantics."
Ideally one should only care about the protocoll of the _direct_ ancestor(s) 
not whether it is implemented in the object itself or inherited from others. 
The need to give the programmer a quick overview of all the methods valid for a 
particular object is a reason for improving the development environment,
not for changing the language design.

More information about the Self-interest mailing list