それで、私はデザインパターンについて読んでいますが、プロトタイプパターンは私を混乱させます。これを使用するポイントの 1 つは、 new演算子を使用する必要がなくなることだと思います。次に、この例を見てください。
http://source Making.com/design_patterns/prototype/java/1
まず、彼らのプロトタイプのアイデアは clone() メソッドを実装していますが、これは奇妙です。ウィキペディアには、サブクラスによって実装される純粋な仮想メソッドのクローンが必要であるとも書かれています (なぜですか?)。Java はすでにそのようなメソッドを提供しており、必要なことを正確に実行します (つまり、オブジェクトを最初からインスタンス化するのではなく、オブジェクトのコピーを作成します)。次に、clone メソッドは演算子new !を呼び出します。確かに例は間違っていますか?(その場合、別の場所でデザイン パターンを勉強する必要がありますね?)。この修正が正しいかどうか誰かが教えてくれますか?:
static class Tom implements Cloneable implements Xyz {
public Xyz cloan() {
return Tom.clone(); //instead of new I use clone() from Interface Cloneable
}
public String toString() {
return "ttt";
}
}
説明をいただければ幸いです。