Java 当只知道对象的抽象基类时,如何复制对象
我有一个抽象基类Java 当只知道对象的抽象基类时,如何复制对象,java,android,Java,Android,我有一个抽象基类MusicTime,它有几个具体的子类-Quaver,SemiQuaver,Crotchet等。子类实例包含在列表中我看到了一个干净和肮脏的解决方案: 为层次结构中的每个类实现clone()(从可克隆接口)方法(清洁解决方案) 使用instanceof操作符找出哪个类是(脏的解决方案)的对象实例我看到一个干净的和脏的解决方案: 为层次结构中的每个类实现clone()(从可克隆接口)方法(清洁解决方案) 使用instanceof操作符找出哪个类是(脏的解决方案)的对象实例我相信您可
MusicTime
,它有几个具体的子类-Quaver
,SemiQuaver
,Crotchet
等。子类实例包含在列表中我看到了一个干净和肮脏的解决方案:
为层次结构中的每个类实现clone()
(从可克隆接口)方法(清洁解决方案)
使用instanceof
操作符找出哪个类是(脏的解决方案)的对象实例我看到一个干净的和脏的解决方案:
为层次结构中的每个类实现clone()
(从可克隆接口)方法(清洁解决方案)
使用instanceof
操作符找出哪个类是(脏的解决方案)的对象实例我相信您可以使用原型设计模式,通过它您可以添加
abstract MusicTime clone()
在MusicTime基类中,并在创建自己对象的所有子类中实现。
当您遍历列表时,请调用克隆
我相信您可以使用原型设计模式,通过它您可以添加
abstract MusicTime clone()
在MusicTime基类中,并在创建自己对象的所有子类中实现。
当您遍历列表时,请调用克隆
这是一项与类继承相关的任务。为什么需要复制对象,并且可以使对象可克隆
(或者添加一个duplicate()
方法)?这是一项在类继承方面本质上很棘手的任务。为什么您需要复制对象,并且可以使对象可克隆(或添加一个replicate()
方法)?谢谢,这是解决我问题的好办法。事实上,刚刚在GoF书中查找了原型模式,他们使用的示例几乎与此相同(音乐棒符号的图形表示法)。谢谢,这是解决我问题的一个好方法。事实上,刚刚在GoF书中查找了原型模式,他们使用的示例几乎与此相同(乐谱符号的图形表示法),谢谢,他们都是很好的建议。我当然想避免使用“肮脏”的方法,但我选择了原型模式的答案,因为我一直在尝试使用更多的模式。谢谢,它们都是很好的建议。我当然想避免使用“肮脏”的方法,但我选择了原型模式的答案,因为我一直在尝试使用更多的模式