Qualcuno ha delle best practice o convenzioni di denominazione suggerite o stabilite per costruttori di copie/metodi di produzione ecc. In Java? In particolare, dire che ho una classe Thing
e voglio un metodo da qualche parte che restituisca un nuovo Thing
con lo stesso valore di un Thing
passato (o come istanza se si tratta di un metodo di istanza). Avresti questo come costruttore o un metodo factory factory o un metodo di istanza? Come lo chiameresti?Se non si clona in Java, cosa si fa e come si chiama?
Come per il titolo, voglio evitare clone()
e Cloneable
.
Perché vuoi evitare clone() e Cloneable? –
@Thomas Owens, vedere qui: http://www.artima.com/intv/bloch13.html – Yishai
alle risposte che indicano copia costruttore come soluzione: il costruttore di copie non gestisce correttamente tutti i casi. Ad esempio quando non conosci la classe concreta (ma puoi ancora utilizzare il costruttore di copie all'interno del tuo metodo clone/copy/whateveryoucallit). –