En lugar de extender la matriz se podría escribir su propia clase que expone todos los métodos de Array. Mediante el empleo de la clase Proxy puede redirigir todos los métodos de matriz por defecto a una matriz interna, pero todavía tienen la flexibilidad para añadir sus propios métodos:
package
{
import flash.utils.flash_proxy;
import flash.utils.Proxy;
use namespace flash_proxy;
dynamic public class ExampleArray extends Proxy
{
private var _array:Array;
public function ExampleArray(...parameters)
{
_array = parameters;
}
override flash_proxy function callProperty(name:*, ...rest):*
{
return _array[name].apply(_array, rest);
}
override flash_proxy function getProperty(name:*):*
{
return _array[name];
}
override flash_proxy function setProperty(name:*, value:*):void
{
_array[name] = value;
}
public function getSmallestElement():*
{
var helper:Array = _array.concat().sort();
return helper[0];
}
}
}
ejemplo:
var test:ExampleArray = new ExampleArray(8,7,6,5,4,3,2,1);
trace(test.getSmallestElement()); // 1
test.sort();
trace(test); // 1,2,3,4,5,6,7,8
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/Array.html dice 'Puede extender la clase Array y anular o agregar métodos. Sin embargo, debe especificar la subclase como dinámica o perderá la capacidad de almacenar datos en una matriz. – Amarghosh