The specific definitions of these terms vary from language to
language.  In Java, for instance, a method is said to be
"overloaded" and/or "overridden".

An "overloaded" method is actually two or more methods with the
same name but differing numbers/types of parameters (which Java
calls the "signature" of the method).  I believe this is what has
been referred to as "multimethod dispatch" on this thread.

An "overridden" method is two methods with the same name AND type
signature in two different classes, where one class is a subclass
of the other.  The child class's method is said to "override"
the parent class's implementation.

The similarity of names is a little confusing, but the distinction
between the two mechanisms is important.  When an overridden
method is called, the actual implementation that gets executed
depends on the RUNTIME type of the INVOCANT.  When an overloaded
method is called, the implementation that is executed depends on
the COMPILE-TIME type of the PARAMETERS.  Many folks get bitten
trying to use overloaded methods as if the implementation were
chosen based on on run-time type information.

But that's all off-topic.  Back to Perl6, although it seems that
we won't find out the details of Perl6 O-O until Apoc 12 comes out.

-- 
Mark REED                    | CNN Internet Technology
1 CNN Center Rm SW0831G      | [EMAIL PROTECTED]
Atlanta, GA 30348      USA   | +1 404 827 4754 
--
grasshopotomaus:
        A creature that can leap to tremendous heights . . . once.

Reply via email to