Czy ktoś ma jakieś sugerowane lub ustanowione najlepsze praktyki i konwencje nazewnictwa dla konstruktorów kopii/metod fabrycznych itp. W Javie? W szczególności, powiedzmy, że mam klasę Thing
i chcę, aby metoda gdzieś zwróciła nową Thing
z tą samą wartością, co przekazana (lub jako instancja, jeśli jest to metoda instancji). Czy masz to jako konstruktora lub statycznej metody fabryki lub metody instancji? Jak nazwałbyś to?Jeśli nie klonujesz w Javie, to co robisz i jak to nazywasz?
Zgodnie z tytułem, chcę uniknąć clone()
i Cloneable
.
Dlaczego chcesz uniknąć klonowania() i klonowania? –
@Thomas Owens, patrz tutaj: http://www.artima.com/intv/bloch13.html – Yishai
na odpowiedzi, które określają konstruktora kopii jako rozwiązanie: konstruktor kopiowania nie obsługuje poprawnie wszystkich przypadków. Na przykład, gdy nie znasz konkretnej klasy (ale nadal możesz użyć konstruktora kopii wewnątrz metody clone/copy/whateveryoucallit). –