OOP o POO (Programación Orientada a Objetos) 2

Toda "instancia" HEREDA de su clase genérica sus métodos y propiedades. Pero en AS podemos ampliar las posibilidades de todo objeto predefinido.
Supongamos que a nuestra pelota queremos darle un nuevo uso: por ejemplo "aplastar hormigas" (ojo "amigos de los animales" es sólo un ejemplo, no es algo que usualmente haga con una pelota), esto no se hace usualmente con una pelota, no es una función propia del objeto "pelota", y si queremos aplicar esta nueva función a TODAS las pelotas del planeta tendriamos que configurar a la "madre" pelota para que todas hagan lo mismo o tengan al menos esa posibilidad. En AS esto se logra con los prototipos (prototype) la cual es una propiedad también, una propiedad que tiene todo objeto. En nuestro caso podemos hacer esto:

Pelota.prototype.nuevafuncion= aplastarhormigas(){
hormigas=hormigas.plaggg
}

Espero se entienda: tomando la idea de HERENCIA podemos ampliar los objetos y sus posibilidades usuales. Podemos entender entonces el ejemplo del manual de AS de macromedia:

1. Creamos un objeto generico "circulo" con una variable "radio" partiendo de una función constructora

function Circulo (radio){
this.radio=radio // se usa THIS para asignar esta propiedad al mismo objeto que la posee
}

2. Ponemos una instancia de éste nuevo objeto genérico. Nos ayudamos del operador new:

micirculo=new Circulo(5) //acabamos de ponerle un radio de 5

3. Ahora le creamos un prototipo:

Circulo.prototype.area=function(){
return Math.PI*this.radio*this.radio
}

4. Para comprobar si funciona puedes usar esto:

trace(micirculo.area());

Al menos a mi me salió. 78.5398163397448 :)

buena suerte y saludos!

Manuel Jesús Vejarano::: Derechos Reservados