Java クローン作成の代替手段がいくつかあります。これらの代替手段がどのように機能するかを説明するための助けをお願いできますか:
代替手段は次のとおりです。
• Using a copy constructor for creating a new object as a copy of an existing object
• Creating your own interface with copy methods
これは、既存のオブジェクトのコピーとして新しいオブジェクトを作成するためのコピー コンストラクターの使用例です。
public class MyClass {
private int myVar;
public MyClass() { this.myVar = 0; }
public MyClass(MyClass other) { this.myVar = other.myVar; }
}
これは、コピー メソッドを使用して独自のインターフェイスを作成する例です。
public interface MyCopy {
Object copy();
}
public class MyClass implements MyCopy {
private int myVar;
public MyClass() { this.myVar = 0; }
public MyClass(int myVar) { this.myVar = myVar; }
public Object copy() { return new MyClass(myVar); }
}
「既存のオブジェクトのコピーとして新しいオブジェクトを作成するためのコピー コンストラクターの使用」
public class SampleClass
{
int x;
int y;
public SampleClass(SampleClass old) // Copy Constructor
{
this.x = old.x;
this.y = old.y;
}
public SampleClass(int x, int y) // Regular constructor
{
this.x = x;
this.y = y;
}
}
コピー コンストラクターは、コンストラクターに渡されるオブジェクトのコピーを作成します。
「copy メソッドを使用して独自のインターフェイスを作成する」
正直なところ、彼らがここで何をほのめかしているのか正確にはわかりません. おそらく、実装できる copy() メソッドを含むインターフェイスを作成することを意味しますが、なぜ Cloneable インターフェイスを使用しないのかわかりません。