Buenas noches Juan Yo estoy de acuerdo con Omar, acces y assign van juntos o simplemente usas uno u el otro, pero siempre dentro de la misma clase. De todas formas es interesante el comportamiento que mencionas de vfp. Si instancias una clase primero que la otra funcionan distinto? Eso si esta feo... Igual te repito nunca se me dio la necesidad de tener algo así, cuál es tu caso de uso?
Saludos, César El jue, ene 1, 2015 04:04 PM, Fernando D. Bozzo <[email protected]> escribió: > Omar tiene razón: > > Access y Assign conviene crearlos juntos y simplemente son usados por > quienes lo necesiten. > > Saludos.- > > > > El 1 de enero de 2015, 19:58, Omar Bellio <[email protected]> > escribió: > > A ver si entendí bien: >> >> Cuando vos definís una clase con una propiedad, todo eso hereda hacia >> abajo, Empleado hereda de Persona, si vos ponés un método en Empleado, >> Persona no lo va a ver. Normalmente cuando pasa eso, se pone una interfaz >> (creo que se llama así) en la clase madre, es decir, definís el método y no >> le ponés código, queda abstracto para especializar en las subclases. De ese >> modo, el método siempre está, aunque no haga nada. >> >> >> >> Resumiendo para tu ejemplo: el método _Access tiene que estar en la clase >> madre, para que no te pase eso. >> >> >> >> Saludos. >> >> >> >> *De:* [email protected] [mailto:[email protected]] *En nombre de *Jose Paez >> *Enviado el:* miércoles, 31 de diciembre de 2014 07:59 p.m. >> *Para:* GUFA List Member >> *Asunto:* [GUFA] _Access y _Assign >> >> >> >> Hola Juan >> >> >> >> Yo he utilizado bastante estos métodos en un framework que desarrolle >> hace mucho tiempo. >> >> Tendrás un ejemplo que puedas pasarnos (.prg o .vcx) para analizarlo. >> >> >> >> Saludos >> >> >> >> José Paez >> >> >> >> >> >> > Date: Wed, 31 Dec 2014 10:32:05 -0300 >> > From: [email protected] >> > To: [email protected] >> > Subject: [GUFA] _Access y _Assign >> > >> > Descubrimos un problema con los metodos _Access y _Assign en herencia. >> > En una clase hay una propiedad y esta tiene definido el metodo _assign. >> > Otra clase hereda de esta y define para esa propiedad el metodo >> _access. >> > Pongo como ejemplo una clase Persona y otra Empleado que hereda de >> > Person. Se crea un objeto de cada clase. Si se crea primer la clase >> base >> > (persona) y despues la subclase (empleado) se puede acceder a la >> > propiedad de la primera (ejemplo Persona.Apellido). Si se crea primero >> > la subcase (empleado) y despues la base (persona) y se quiere acceder a >> > la propiedad que tiene el metodo _access en la subclase da error porque >> > no encuenta el metodo _access (al intentar Persona.Apellido da error >> > porque no encuentra apellido_access). Por lo que estuve investigando el >> > tema es que cuando crea un objeto levanta la estructura jerarquica de >> la >> > clase (a la que se puede acceder con la funcion amembers() consultando >> > por el objeto o cada clase en la jerarquia) y hace referencia a cada >> > propiedad si tiene algunos de los metodos (_access o _assign). No >> > encontre documentación que lo mencione, solo paso y lo confirme con un >> > pequeño ejemplo como el que describi (una clase persona con propiedades >> > apellido y nombre y una funcion apellido_assign y otra clase empleado >> > que hereda de persona con una propiedad mas cuil y el metodo >> > apellido_access). En la documentacion de microsoft menciona >> > explicitamente que se puede usar indistintamente _access o _assign, >> pero >> > nada habla de la herencia ¿alguien sabe algo de esto? Por lo que vimos >> > si se usa _access o _assign hay que crearlas en la misma definicion >> > donde esta la propiedad a menos que sea una clase abstracta y no se >> cree >> > ninguna instancia de la misma. No se si interesa pero para nosotros es >> > importante como norma de desarrollo. >> > Muchas gracias. >> > >> > >> >
