宿題の一環として、clone
メソッドを持つ抽象クラスを実装するように求められます。関数のフレームが与えられます。JavaでCloneNotSupportedException例外をスローせずにクローン関数を作成
/**
* @effects Creates and returns a copy of this.
*/
public Object clone() {
// TODO: Implement this method
}
Shape
クラスには次の2つのフィールドがあります:私たちはメソッドがCloneNotSupportedException
例外をスローしないことを告げているの指示で
private Point location;
private Color color;
を、またありますなぜそれがそうであるか尋ねた。私たちがインターネット上で見たすべての例では、クローンメソッドはCloneNotSupportedException
を投げます。
このクローンメソッドがその例外をスローしてはならない理由を教えてください。
我々が書かれている方法は次のとおりです。
Unhandled exception type CloneNotSupportedException
を、どのように我々はcloneメソッドを作成する必要があります。
/**
* @effects Creates and returns a copy of this.
*/
public Object clone() {
Shape new_shape = (Shape)super.clone();
new_shape.setColor(this.getColor());
new_shape.location = (Point)location.clone();
return new_shape;
}
それは言って、私たちに(Shape)super.clone()
一部にエラーを与えますか?
私は自分の答えを更新しました。それがあなたを助けることを願っています –