Мне интересно, есть ли способ сделать следующее. У меня есть абстрактный класс, Shape
и все его разные подклассы, и я хочу переопределить метод clone. Все, что я хочу сделать в методе, - создать новый 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()
}
}