Hola de nuevo. Gracias a todos por las respuestas. Recordaba la capacitación que Hernán W. nos dio en Mercap, con unas diapositivas que explicaban todo el metamodelo y el algoritmo de method lookup, pero no encontré el material (Hernán, ¿dónde está?) para chusmear y contarle a mi compañero. Así que traté de explicarle con mis palabras más o menos lo que pusieron los Andreses. Aunque ahora que tengo la respuesta completa y con el vocabulario correcto, puedo hacer "copy & paste" y ponerlo en el foro donde surgió la duda.
Lo que él decía, según lo que había escuchado, era lo siguiente: Existe una jerarquía, por ejemplo, de Object -> Transporte -> Auto Cuando se crea una instancia de Auto, también se crea una instancia de Transporte, y una de Object. Y las intancias "interactúan" (se mandan mensajes) para resolver el problema, es decir, más o menos lo que hace el method lookup. Entonces lo que él se preguntaba, era por qué en lugar de funcionar así, no se hacía que solamente se instancie Auto, y esa instancia conozca todos los métodos de sus superclases hasta la clase root. Así solamente se instancia Auto y listo. Obviamente en ese caso el method lookup no serviría de mucho. Y pidiéndole un poco más de detalles, me contó que esta duda le surgió, además de lo que mencioné en el primer mail, revisando apuntes de C#, en donde un profe dijo que cada vez que instanciabas un objeto, se creaba una instancia de dicho objeto, y otra instancia por cada superclase. Así que bueno, la duda concreta viene por ese lado, ¿por qué se hace así (como explicaron) y no como se le ocurrió a mi compañero? Lo primero que se me viene a la mente es el caso de la redefinición de métodos, o cuando se utiliza super, pero no sé si en todos los lenguajes OO es igual. Salu2 Lea -- --------------------------------------- http://www.utnianos.com.ar --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] http://www.clubSmalltalk.org -~----------~----~----~----~------~----~------~--~---
