|
|
|
|
- Modo de funcionamiento
- Reglas para copiar variables
Construye una copia de una instancia de clase. // There is a traffic light in North Phoenix, at 4725 E. Mayo Blvd. // It is red StopLight is TrafficLight StopLight.Address = "4725 E. Mayo Blvd., Phoenix, AZ" StopLight.Status = DarkRed // Another traffic light must be set at 5599 on the same boulevard // If the object is simply copied... CopyLight is dynamic TrafficLight = StopLight CopyLight.Address = "5599 E. Mayo Blvd., Phoenix, AZ" // The address of StopLight has also changed...! // If the object is cloned... CloneLight is dynamic TrafficLight = Clone(StopLight) // CloneLight contains the same information as StopLight // But if one of it properties is modified, it does not affect the original traffic light // Change the address CloneLight.Address = "5599 E. Mayo Blvd., Phoenix, AZ" // >> StopLight.Address = "4725 E. Mayo Blvd., Phoenix, AZ" CloneLight.Status = DarkRed // >> StopLight.Status = DarkGreen
Sintaxis
<Result> = Clone(<Source>)
<Result>: Cadena de caracteres Instancia de clase copiada. <Source>: Cadena de caracteres Instancia de clase a copiar. Observaciones Modo de funcionamiento Al utilizar la función Clone: - se asigna una nueva instancia de la misma clase que la instancia original y se ejecuta el constructor predeterminado (sin parámetros o con parámetros opcionales).
- se realiza una copia miembro a miembro de la instancia original a la nueva instancia.
Observación: La copia tiene en cuenta el atributo <Copy> de cada miembro: - <Copy=False> para ignorar un miembro,
- <Copy=Clone> para realizar la clonación (copia profunda).
Reglas para copiar variables | | Tipo de variables | Efecto |
---|
Tipos simples (integer, real, string, etc.) | Se copia el valor de la variable. | Arrays | El array de destino es una referencia al array de origen. | Associative arrays | Se copia el contenido del array. | Queue | Se copia el contenido de la cola. | Stack | Se copia el contenido de la pila. | List | Se copia el contenido de la lista. | Object = Dynamic object | Los miembros del objeto dinámico se copian a los miembros del nuevo objeto. | Object = Object | Los miembros del objeto de origen se copian a los miembros del objeto de destino. | Dynamic object = Dynamic object | El objeto dinámico de destino es una referencia al objeto dinámico de origen. | Dynamic object = Object | El objeto dinámico de destino es una referencia al objeto de origen. | Structure = Dynamic structure | Se copia la estructura. Los miembros con el mismo nombre se inicializan con los valores existentes. Los miembros que no existen se ignoran. | Structure = Structure | Se copia la estructura. Los miembros con el mismo nombre se inicializan con los valores existentes. Los miembros que no existen se ignoran. | Dynamic structure = Dynamic structure | La estructura dinámica de destino es una referencia a la estructura dinámica de origen. | Dynamic structure = Structure | La estructura dinámica de destino es una referencia a la estructura de origen. | Advanced type = Advanced type | Se copia la variable avanzada. Las propiedades con el mismo nombre se inicializan con los valores existentes. | Advanced type = Dynamic advanced type | Se copia la variable avanzada. Las propiedades con el mismo nombre se inicializan con los valores existentes. | Dynamic advanced type = Advanced type | La variable avanzada dinámica de destino es una referencia a la variable avanzada de origen. | Dynamic advanced type = Dynamic advanced type | La variable avanzada dinámica de destino es una referencia a la variable avanzada dinámica de origen. |
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|