I'm extending the AS3 class Rectangle with a class called Bin. I want to override the Rectangle clone() method with a method that returns a Bin object, not a Rectangle object. If I try to override the clone method but specify Bin as the return type, I get a #1023: Incompatible override error. Here's my Bin class:
package {
import flash.geom.Rectangle;
public class Bin extends Rectangle {
public function Bin(x:Number = 0, y:Number = 0, width:Number = 0, height:Number = 0) {
super(x, y, width, height);
}
override public function clone():Rectangle {
return new Bin(x, y, width, height);
}
}
}
This class works, but when I use the clone() method to create a new Bin instance, I get type errors when I try to use the Bin methods on the new instance.
How do I override clone() and send an actual Bin instance?