|
Confirmo que lo que ha dicho Dec es correcto, para una clase definida por
el programador, es el propio programador el que debe crear el metodo que clone el objeto, es imposible que esto se haga de forma automatica, porque
dado un objeto mas o menos complejo, realmente podria haber varias formas distintas de clonarlo.
Cualquier objeto suele tener definidas propiedades o variables que apuntan a a su vez otros objetos.
Cuando se quiere clonar el objeto estas propiedades o variables, hay que mirarlas una por una y decidir si tambien hay que clonarlas o no.
Habra propiedades que si tendremos que clonar y otras que no porque son comunes para todas las instancias, incluso puede haber otras propiedades que no estaria claro si hay que clonarlas.
Por ejemplo si tenemos un objeto con una propiedad "parent" que hace referencia a un objeto "padre", esta claro que esta propiedad no se debe clonar y duplicar en el objeto nuevo, luego quizas el objeto clonado deberia mantener una referencia al mismo "parent", o quizas tambien tenemos otra opcion que es crear el objeto clonado sin padre, con valor nulo, asi que tendra que decidir el programador que es lo mas adecuado.
Otro ejemplo, si dentro de un objeto tenemos una variable que hace referencia a un objeto TScreen, en un objeto clonado tendriamos que mantener exactamente el mismo objeto ya que solo puede existir un unico objeto TScreen en una aplicacon de delphi (este objeto hace referencia a la pantalla de Windows que normalmente solo hay una).
Saludos
|