|
I realize that folks are frustrated that
you can’t change parameters in subclasses, but I want to make sure
everyone realizes that in other languages you are always adding new
functionality when you change the parameter types, you are not overriding the
methods. Take this simple Java example: class Superclass { public void
print(Object obj) {
System.out.println("Object print: " + obj); } } class Subclass extends Superclass { public void
print(String str) {
System.out.println("String print: " + str); } } In this example the superclass has a print
method that takes an Object and the subclass has the same print method but
taking a String. Will the subclass’s method be called if I pass in
a string? The answer depends on the type of the variable of the instance when
I call print.
String str = "blah";
Superclass inst = new Superclass();
inst.print(str);
inst = new Subclass();
inst.print(str);
System.out.println("---");
Subclass sub = new Subclass();
sub.print(str); Output: Object print: blah Object print: blah --- String
print: blah When the
variable was typed as the superclass, regardless of whether the instance was
the superclass or subclass the superclass method was called. I had to
have my instance typed as the subclass for the new method to be reached. And what if we
do: Object obj = "string typed as
object"; sub.print(obj); Guess what, it prints the Object version
even though the actual value is a String. So let’s be clear that polymorphism
is not really coming into play here. You would still need to have the
strongly typed reference to the subclass to accurately access the new
functionality. And if that’s the case, having a different method
name than the superclass isn’t such a big deal IMHO. Now the ability to overload the parameters
is certainly something I wish we supported… Matt From:
[email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Johannes Nel i kinda walked the other
way and excluyded this method from the interdface since i want each class to
return its type (its a semantic argument but it hink a clone method should
return the correct type and not some base type) On 3/6/06, Michael
Schmalle <[EMAIL PROTECTED]>
wrote: Hello, On 3/6/06, Gordon
Smith <
[EMAIL PROTECTED]> wrote: I think there's general agreement here that we want to do
this in a future release, but that the schedule doesn't allow it for this
release. There are quite a few other things that people want as well --
strongly-typed array, enums, inner classes, etc. -- but we can't open up the
feature set again this late in the cycle (nearly Beta 2). - Gordon From: [email protected]
[mailto:[email protected]]
On Behalf Of Johannes Nel hi all, especially Adobe dudes working on ze language. --
SPONSORED
LINKS
YAHOO!
GROUPS LINKS
|
- RE: [flexcoders] polymorphic interfaces Matt Chotin
- Re: [flexcoders] polymorphic interfaces Michael Schmalle
- RE: [flexcoders] polymorphic interfaces Gordon Smith
- Re: [flexcoders] polymorphic interfaces Peter Hall
- RE: [flexcoders] polymorphic interfaces Matt Chotin

