Polimorfismo – ActionScript 3.0
Capacidad de una clase para comportarse como diferentes tipos de clases.
Se hace la diferencia entre tipo y clase, es decir, la clase círculo es del tipo FormaGeometrica.
function medirAncho(a:FormaGeometrica) : void
{
trace(a.ancho);
}
medirAncho(c);
Esto es posible gracias al polimorfismo, el tipo puede ser la superclase (FormaGeometrica) y el valor siempre será el objeto que pasemos, es decir, si como tipo ponemos la superclase podremos pasar como parámetro cualquiera de las subclases (Circulo, Cuadrado, Triangulo, etc).
Después con is podemos averiguar de que tipo es la clase y actuar de una forma u otra con ella.
Pej.
{
if(a is Circle)
{
trace(a.radius * 2);
}
if(a is Rectangle)
{
trace(a.ancho);
}
}
Cuando hablamos de polimorfismo podemos decir: "Tiene un..."