Basically trying to burn in that only methods the reference type knows about are available, even though the actual object's method is going to be run.
The analogy works too because a cook(object) might know some dishes(his own methods) that aren't on the menu(reference) and also might put his special touches(overrides) on the available meals(methods).
Sorry if I've confused anyone, but I think I've burned this in in the process.
Bon appetit! [ May 25, 2008: Message edited by: Bronson King ]
Actually, I like the analogy .. and you're right ... although only methods that the reference type knows about can be called (or referenced) ... what actually gets executed at run time is the implementation defined by the object being referenced. For example:
My favourite analogy is to match the TV remote control with the TV. TV remote control is the Reference Type, TV is the actual object.
If TV remote has switches to operate the TV will function accordingly as the instruction (methods) implemented at run time.
You can add the Casting operations in the same analogy and get this story expanded. The advantage is once you know the story, it is easy to map it back to the real OBJECTS.