以下の方法で何か方法はないかと考えております。抽象クラスShape
とそのすべての異なるサブクラスがあり、クローン メソッドをオーバーライドしたいと考えています。このメソッドでやりたいことは、現在のメソッドShape
から新しいメソッドを作成することtoString()
だけです。Shape
明らかに、抽象的であるため、次のことはできません。単純な名前の変更のためだけにすべてのサブクラスでクローンをオーバーライドすることは役に立たないように見えるため、これを行う別の方法はありますか?
public abstract class Shape {
public Shape(String str) {
// Create object from string representation
}
public Shape clone() {
// Need new way to do this
return new Shape(this.toString());
}
public String toString() {
// Correctly overriden toString()
}
}