¿Alguien tiene alguna recomendación o convenciones de nomenclatura recomendadas o establecidas para constructores de copia/métodos de fábrica, etc. en Java? En particular, digamos que tengo una clase Thing
y quiero un método en alguna parte que devuelva un nuevo Thing
con el mismo valor que un Thing
pasado (o como la instancia si se trata de un método de instancia). ¿Tendría esto como constructor o método de fábrica estático o método de instancia? ¿Como lo llamarias?Si no clona en Java, ¿qué hace y cómo lo llama?
Según el título, quiero evitar clone()
y Cloneable
.
¿Por qué quieres evitar clone() y clonable? –
@Thomas Owens, consulte aquí: http://www.artima.com/intv/bloch13.html – Yishai
a las respuestas que indican que el constructor de copias es la solución: el constructor de copias no maneja todos los casos de forma adecuada. Por ejemplo, cuando no conoce la clase concreta (pero aún puede usar el constructor de copia dentro de su método clone/copy/whateveryoucallit). –