bert at freudenbergs.de
Tue Dec 5 20:02:03 UTC 2006
On Dec 5, 2006, at 12:00 , Bert Freudenberg wrote:
> On Dec 5, 2006, at 11:52 , Blake wrote:
>> I'm not sure whether to ask this here or on the main list, but I
>> thought I'd start here.
>> In a traditional 3GL with objects bolted on, methods are
>> subroutines with a hidden "self" parameter, so if I write (using,
>> oh, Object Pascal):
>> I know that MyObject is of a class that has a method (or an
>> ancestor with a method) called MyMethod.
>> I have read things on Smalltalk that suggest to me that:
>> myObject myMethod.
>> the selector "myMethod" does not necessarily map one-to-one with a
>> method named "myMethod".
>> But I haven't been able to figure out how that could be, or under
>> what situation it would be useful.
> The difference is that you can send any message to any object, and
> the object's class can decide how to handle that method.
I meant to write "... to handle that *message*" of course ;)
> By default, the class looks into the dictionary of all defined
> methods and invokes the matching method. But it can also decide to
> handle *any* message, regardless of which methods are actually
> defined. This lets you implement, for example, generic object
> wrappers that log any message sent to an object. Or, forward the
> message over the network to another image. Or, which is the normal
> case, raise an exception that this message was not understood.
> - Bert -
More information about the Beginners