在类层次结构中实现 ICloneable
的正确方法是什么?假设我有一个抽象类 DrawingObject
。另一个抽象类 RectangularObject
继承自 DrawingObject
。然后还有多个具体的类,如 Shape
、 Text
、 Circle
等,它们都是从 RectangularObject
继承而来的。我想在 DrawingObject
上实现 ICloneable
,然后将它沿着层次结构进行下去,在每个级别复制可用的属性,并在下一个级别调用父级的 DrawingObject
0。
但问题是,由于前两个类是抽象的,我无法在 Clone()
方法中创建它们的对象。因此,我必须在每个具体类中复制属性复制过程。还是有更好的办法?