Hola Paulo, No nos pegamos, creo, simplemente nos rozamos ;)
En cuanto a los listeners o los callbacks ( que también aquí hay dos posibilidades ) te sirven para separar en lo posible el mecanismo de comunicación de las clases en sí. Es mejor, en lo posible, hacer que una clase escuche si se ha emitido un evento desde otra, que no hacer que la segunda le diga directamente a la primera "oye, hazme esto". Esa sería la diferencia entre el acceso directo y la comunicación a través de eventos. En cuanto a la agregación bidireccional, que es parte del tema de discusión yo lo veo sólo como una referencia a una clase en otra, algo no problemático, pero habrá quien discrepe. De todas formas, seguro que todo esto te lo puede explicar alguien mejor que yo. Saludos, Cesar Tardaguila [EMAIL PROTECTED] -----Mensaje original----- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En nombre de Paulo Carvajal -- Vudumedia.com--- Enviado el: jueves, 27 de mayo de 2004 13:38 Para: [EMAIL PROTECTED] Asunto: Re: [ASNativos] [AS2] Clase carga, LoadVars Cesar, Sixto, Xavi, me alegra haber provocado esta discusión tan fructífera para los que nos enteramos poco o nada de OOP (en AS2 o en lo que sea, que algo tengo claro ya, el lenguaje es lo de menos, el análisis es lo importante). Resumo unos cuantos conceptos para aclarar mis ideas y para que me corrijáis si me equivoco y tenéis tiempo y humor: - Relación HAS-A de composición: Un miembro de La Clase instancia otra clase (el dichoso owner, que contendría la instancia de la otra clase). Creo que a esto os referís como encapsular una clase en otra, pero no lo tengo claro: Yo por encapsular entendía hacer que un objeto sea funcional en sí mismo, sin dependencias. Sixto habla de "agregación", y dice que puede ser uni o bidireccional, y que esta última forma implica que un miembro de la clase agregada apunte a la clase que la agrega, lo cual, creo, rompería la encapsulación tal y como yo la entendía (o sea, seguramente mal). De todo esto deduzco que: Si La Clase tiene un miembro que apunta a otra clase, pero esta segunda clase no apunta a La Clase, la agregación es unidireccional. (La Clase usa o puede usar otra clase para lo que le interese) Si La Clase tiene un miembro que apunta a otra clase, y esta segunda clase tiene un miembro que apunta a La Clase, la agregación es bidireccional. (Ambas clases están vinculadas la una a la otra, esto no lo entiendo, o no le veo la utilidad, bueno, la utilidad sí, pero creo que rompe el paradigma OOP). Por aquí entremedio salen los Listeners, que se supone son el mecanismo de intercambio de información entre objetos (Cuando yo cambio, te aviso si te has registrado a mis cambios). Y ya me pierdo totalmente. Si se supone que son el mecanismo de interrelación ¿qué sentido tiene la agragación bidireccional (otra vez), si sin referenciarse pueden comunicarse? - Relación IS-A de herencia La Clase extiende otra clase para añadirle funcionalidad. Que sencillito suena esto ahora 8-). Otra cosa que me ha quedado clara es que cada proyecto requerirá de una, otra o ambas metodologías (porque esto son metodologías, ¿no?: modos de actuación frente a un problema concreto). Así que no os peguéis 8-) Cada día más confuso, espero que santo Moock me ilumine pronto. Paulo. ---------------------------------- Lista ASNativos:[EMAIL PROTECTED] http://www.5dms.com/listas ---------------------------------- ---------------------------------- Lista ASNativos:[EMAIL PROTECTED] http://www.5dms.com/listas ----------------------------------