Muy buena explicaci�n, me gustar�a a�adir para que quede
m�s claro que no es necesario registrar las clases con los s�mbolos a,
b,
de hecho no necesitamos los s�mbolos a y b porque se supone que la clase
animal y perro son unas cosas abstractas que no van a tener sus
representantes f�sicos en el escenario. Por eso no es necesario:

Object.registerClass("a",animal);
Object.registerClass("b",perro);

para que funcione la herencia ya que la herencia se define en:

snoopy.prototype = new perro();

que a su vez hereda de:

perro.prototype = new animal();

y con registrar a snoopy ya se ha creado la cadena entre las clases
automaticamente.

+++

Tambien otra cosa interesante de MX es el comando "super" porque con el
podemos llamar a los m�todos de las clases superiores a la nuestra sin
importar como se llaman. En el mismo ejemplo de a!e:

snoopy.prototype = new perro();
snoopy.prototype.firmaAutografo = function(){
    trace("�A quien se lo dedico?");
        super.ladra();
        super.respira();
}

salu2++
+kenike.dot.org+

-----------------------------------------------
El correo comprobado con
Norton AntiVirus Corporate Edition


-----Mensaje original-----
De: a!e mu�oz [mailto:[EMAIL PROTECTED]] 
Enviado el: jueves, 12 de septiembre de 2002 11:36
Para: flashmaestro List Member
Asunto: [flashmaestro] [MX] OOP: herencia

un ejemplo tonto de herencia en OOP para Flash MX,
por si a alguien le interesa (me gustaria documentarlo
como dios manda, pero el trabajo me sepulta...)

en la libreria hay 3 simbolos (MovieClips "a", "b" y "c"),
con identificadores para exportarlos para ActionScript
(mismo nombre)

lo del Object.registerClass se merece un libro para �l
solito... si alguien tiene mucho interes podria buscar
tiempo para explicarlo...


[EMAIL PROTECTED] | bomber-studios.com | see less, think more


////////////////////////////////////////////////////////////////////////
////
////
//    INHERITANCE v2.0
////////////////////////////////////////////////////////////////////////
////
////
//    [EMAIL PROTECTED]
////////////////////////////////////////////////////////////////////////
////
////

animal = function(){
    //
}
animal.prototype = new MovieClip();
animal.prototype.respira = function(){
    trace("Respirando");
}
Object.registerClass("a",animal);

perro = function(){
    //
}
perro.prototype = new animal();
perro.prototype.ladra = function(){
    trace("Woof, woof!");
}
Object.registerClass("b",perro);

snoopy = function(){
    //
}
snoopy.prototype = new perro();
snoopy.prototype.firmaAutografo = function(){
    trace("�A quien se lo dedico?");
}
Object.registerClass("c",snoopy);


_root.attachMovie("c","miSnoopy",1);

_root.miSnoopy.respira();   // Respirando
_root.miSnoopy.ladra();   // Woof, woof!
_root.miSnoopy.firmaAutografo();   // �A quien se lo dedico?

Responder a