in

Clonación de objetos en java – Javatpoint

cloning

constructor en java
los clonación de objetos es una forma de crear una copia exacta de un objeto. El método clone () de la clase Object se usa para clonar un objeto.

los interfaz java.lang.Cloneable debe ser implementado por la clase cuyo objeto clon queremos crear. Si no implementamos la interfaz Cloneable, el método clone () genera CloneNotSupportedException.

los método clone () se define en la clase Object. La sintaxis del método clone () es la siguiente:

¿Por qué utilizar el método clone ()?

los método clone () guarda la tarea de procesamiento adicional para crear la copia exacta de un objeto. Si lo realizamos usando la nueva palabra clave, llevará mucho tiempo de procesamiento realizarlo, por eso usamos la clonación de objetos.

Ventaja de la clonación de objetos

Aunque Object.clone () tiene algunos problemas de diseño, sigue siendo una forma popular y fácil de copiar objetos. A continuación se muestra una lista de las ventajas de usar el método clone ():

  • No es necesario escribir códigos largos y repetitivos. Simplemente use una clase abstracta con un método clone () de 4 o 5 líneas de largo.
  • Es la forma más fácil y eficiente de copiar objetos, especialmente si lo estamos aplicando a un proyecto ya desarrollado o antiguo. Simplemente defina una clase principal, implemente Cloneable en ella, proporcione la definición del método clone () y la tarea estará lista.
  • Clone () es la forma más rápida de copiar una matriz.

Desventaja de la clonación de objetos

A continuación se muestra una lista de algunas desventajas del método clone ():

  • Para usar el método Object.clone (), tenemos que cambiar muchas sintaxis de nuestro código, como implementar una interfaz Cloneable, definir el método clone () y manejar CloneNotSupportedException, y finalmente, llamar a Object.clone (), etc.
  • Tenemos que implementar una interfaz clonable mientras no tenga ningún método. Solo tenemos que usarlo para decirle a la JVM que podemos realizar clone () en nuestro objeto.
  • Object.clone () está protegido, por lo que tenemos que proporcionar nuestro propio clone () e indirectamente llamar a Object.clone () desde él.
  • Object.clone () no invoca ningún constructor, por lo que no tenemos ningún control sobre la construcción del objeto.
  • Si desea escribir un método clon en una clase secundaria, todas sus superclases deben definir el método clone () en ellas o heredarlo de otra clase principal. De lo contrario, la cadena super.clone () fallará.
  • Object.clone () solo admite copias superficiales, pero necesitaremos anularlo si necesitamos una clonación profunda.

Ejemplo de método clone () (clonación de objetos)

Veamos el ejemplo simple de clonación de objetos.

Pruébelo ahora

Como puede ver en el ejemplo anterior, ambas variables de referencia tienen el mismo valor. Por lo tanto, clone () copia los valores de un objeto a otro. Entonces no necesitamos escribir código explícito para copiar el valor de un objeto a otro.

Si creamos otro objeto por nueva palabra clave y le asignamos los valores de otro objeto, requerirá mucho procesamiento en este objeto. Entonces, para guardar la tarea de procesamiento adicional, usamos el método clone ().

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Función Python sorted ()

MATLAB – El bucle for