原生态模型

来源:互联网 发布:草蜢失乐园知乎 编辑:程序博客网 时间:2024/04/29 08:20

第一个代码

 

 

 

第二个代码

 

1:原生态的优点:如果想得到一个对象的复制品,那么我想没有什么办法比克隆更好的了,我们不需要new个对象,然后再调用属性的set方法一个一个得放进去,就想上面我们实现了真正发生事情,克隆多利,(大家应该知道克隆羊多利吧。呵呵)

2:缺点:对于深度克隆我运用,有时候可能在操作双向关联的时候,并且两个对象都有clone,而且也要克隆彼此,那么这样的后果大家会知道的,就是递归,一个没有推出条件的递归。最终就是一个Error来终止程序

3:对“开-闭原则”的支持:我们可以定义一个接口来实现继承Cloneable,然后其他相关的类。可以实现它.  如代码2

4:java中原生态模式的运用:这个就多了。大家随便看个ArrayList就有.

5:原生态模式的实用范围:我在我做的项目中用过一次,而且我觉得当时用clone是最好的实现方式。大概是这样,我读取excel然后存放到ArrayList中,再放把ArrayList放到数据库中,但是Excel的东西部室按照数据库表的格式规定的,而是吧表的字段竖向排列到Excel中,而且又重复记录,Excel里面的性别就是两列(男。女),而我们的数据库用一列,用1,0表示。所以我的要做的就是把ArrayList克隆2次,而且要深度克隆,因为我要在遍历的过程中修改数据,不深度克隆会影响到我修改了的数据。所以我自己实现了个类继承了ArrayList,然后深度克隆。克隆了2个,那么就遍历3个我的自己实现的ArrayList,这样他们之前的数据互不干扰。因为ArrayList本身只存放引用,而不是对象。

6:建造模式使用的特点
      这个没有多大说的,因为java已经给我们实现了。大家可以查看j2se的源代码。

原创粉丝点击