首页 > 其他 > 详细

原型模式(Prototype)

时间:2014-04-15 15:04:29      阅读:433      评论:0      收藏:0      [点我收藏+]

1、本质:克隆生成对象

2、定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象

3、与new的区别:

    new的对象实例只有默认值

    克隆的对象拥有和被克隆对象完全相同的值

4、Java中本身提供的克隆方法:

    1、被克隆类实现Cloneable接口

    2、被克隆类中添加clone方法  

bubuko.com,布布扣
 1 public Object clone(){
 2     Object obj = null;
 3 
 4     try{
 5 
 6         obj = super.clone();
 7 
 8     }catch(CloneNotSupportedException e){
 9         e.printStackTrace();
10     }
11 
12     return obj;
13 }
bubuko.com,布布扣

5、浅度克隆和深度克隆

    浅度克隆:只负责克隆按值传递的数据                --基本数据类型,String

    深度克隆:除了浅度克隆要克隆的值外,还克隆应用类型的数据     --需要递归克隆,即:属性对象也需要正确实现克隆方法

6、优点:

    对客户端隐藏具体的实现类型

    在运行时动态改变具体的实现类型

7、缺点:

    每个原型的子类都必须实现clone的操作

原型模式(Prototype),布布扣,bubuko.com

原型模式(Prototype)

原文:http://www.cnblogs.com/hdwons/p/dp_prototype.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!