> Las subclases de Moviclip son muy interesantes a la hora de 
> aplicar los principios OOP a clases graficas. Las basicas: 
> Herencia, encapsulacion y polimorfismo.


Lamento discrepar, pero precisamente las clases gr�ficas son las menos
indicadas para determinadas implementaciones, precisamente por ser eso,
gr�ficos.

> 
> Herencia:
> Yo definiria, asi ,a bote pronto. Una subclase de MovieClip 
> abstracta, vamos a llamarla NaveBase que tubiera los metodos 
> b�sicos de movimiento, colocacion y destruccion del objeto. 
> De esta extenderia (subclasearia) una clase tambi�n 
> abstracta, MarcianoBase, con comportamientos comunes a todos 
> los marcianos, como la IA, y de esta, ya por ultimo, sacaria 
> las clases necesarias para los distintos enemigos: 
> MarcianoPeon, MarcianoChungo y MarcianoJefe, estas si que 
> podrian estar vinculadas con elementos de la biblioteca. 
> Estas 3 compartirian mucha funcionalidad que viene dada por 
> las clases base (NaveBase y MarcianoBase) con lo que ya 
> estarias ganando en cuanto a reutilizacion de codigo. En el 
> caso de escribir las funciones directamente sobre la linea de 
> tiempo probablemente tendrias que duplicar gran parte del 
> codigo de una a otra. Un cambio en una supondria la 
> modificacion del resto. Si necesitas nuevos tipos de 
> marcianos ya no comienzas de 0 sino que tienes una base de 
> codigo sobre la que partir (extender). Sin contar que podrias 
> utilizar el NaveBase tambi�n para extender la clase NaveHeroe.

Veamos, asignar la responsabilidad de la inteligencia a un gr�fico, choca
con uno de los conceptos que el mismo Joseba ha nombrado, el del
acoplamiento, y otro que no ha nombrado, y con el cual el choque es a�n
mayor, la cohesi�n ( el ejemplo m�s claro de baja cohesi�n, es una clase que
hace demasiadas cosas, y muy dispares entre s� ). Siempre hay que intentar
buscar el menor acoplamiento y la mayor cohesi�n posibles ( �ste es un
concepto b�sico del dise�o orientado a objetos ), y eso no se va a lograr
haciendo que una misma clase sea responsable de la inteligencia ( yo
prefiero llamarlo comportamiento ), y de la representaci�n gr�fica. Por lo
tanto, el implementar ciertas funcionalidades en un movieclip no es, por
decirlo de alguna manera, una pr�ctica muy aconsejable, al menos en este
caso. Dicho de otra forma, un marciano es un se�or de marte, no un
movieclip. No se trata de que la herencia sea un recurso mejor o peor, sino
que es un recurso que no hay que utilizar a toda costa, sino s�lo cuando
realmente nos resuelva la papeleta.

En este caso, todo ser�a mucho m�s facil si una �nica clase, que
implementara un interfaz �nico, fuera la responsable de presentar los
distintos tipos de marcianos. De esta manera, no necesitamos 4 clases con un
huevo de c�digo heredado de la clase base, y que est� ah� s�lo por estar.

En cuanto al resto de conceptos, son definiciones bastante claras y
extendidas, est�n en cualquier libro de casi cualquier lenguaje de
programaci�n actual, por lo que su utilidad no est� limitada, obviamente, al
flash / actionscript.

Espero que todo esto te sirva de ayuda.

Cesar Tardaguila
[EMAIL PROTECTED]


----------------------------------
Lista ASNativos:[EMAIL PROTECTED]
http://www.5dms.com/listas
----------------------------------

Responder a