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?