Object-Orientation FAQ

1.18) What Is A Method? (And Receiver And Message)

A method implements behavior, which is defined by [Booch 91, p80]:
  Behavior is how an object acts and reacts, in terms of its state changes
  and message passing.
A method is a function or procedure which is defined in a class and typically
can access the internal state of an object of that class to perform some
operation.  It can be thought of as a procedure with the first parameter as
the object to work on.  This object is called the receiver, which is the object
the method operates on.  An exception exists with C++'s static member functions
which do not have a receiver, or "this" pointer.  The following are some common
notations for invoking a method, and this invocation can be called a message
(or message passing, see below):
  receiver.message_name(a1, a2, a3)
  receiver message_name: a1 parm1: a2 parm3: a3
Selector would be another good choice for message_name in the above examples,
although keywords (or formal parameter names, like named parameters) are
considered part of the selector in Smalltalk (and hence Objective-C).
If done statically, this can be referred to as invocation, and message passing
if done dynamically (true dynamic binding).  Statically typed dynamic binding
(e.g. C++ and Eiffel) is really in between (checked function pointers).
See also section 1.19 below for a discussion on the functional (prefix) verses
message based (receiver based) notation.

This document was translated by ms2html v1.8 on 01.06.95.