美文网首页
创建性模式-原型模式

创建性模式-原型模式

作者: 查无此人_chazz | 来源:发表于2018-05-13 15:36 被阅读0次

标签(空格分隔): 原型模式 浅克隆 深克隆


原型模式: 从一个对象再创建另外一个可定制的对象,且不需要知道任何创建的细节。即能实现对象克隆。

java中提供了对象克隆的原生支持:
在java中,有一个Cloneable接口,它的作用是声明克隆的能力, 一个类只有实现它才可以被拷贝,然后重写clone(),否则在运行时会抛出CloneNotSupportedException异常
优点: 简化对象的创建过程,隐藏了对象创建的细节,又对性能大大的提高


深克隆&浅克隆

⑴浅克隆
被克隆对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅克隆仅仅克隆当前被克隆的对象,而与它所引用的对象没有关系。

⑵深克隆
被克隆对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被克隆过的新对象,而不再是原有的那些被引用的对象。换言之,深克隆把要克隆的对象所引用的对象都克隆了一遍。


实现方法
1、在java中,Object中的clone()方法是一个native方法,Cloneable接口仅是一个标记性接口,用来通知jvm这个对象可以调用clone方法,而且Object的clone()方法仅仅实现是浅克隆,若要实现深克隆则需要重写Object.clone()。
2、 Apache Commons 提供了相关的克隆组件和方法

SerializationUtils.clone(object);//返回深复制后的结果
  • 浅克隆/拷贝(shallow clone/copy):BeanUtils
BeanUtils.cloneObject(object);//返回浅复制的结果

相关文章

  • 目录(持续更新)

    一、创建性模式(对象模式) 创建性模式-工厂创建性模式-建造者模式创建性模式-单例模式&多例模式创建性模式-原型模...

  • 设计模式简介

    分类 创建型模式:单例模式、工厂方法模式、抽象工厂模式、创建者模式、原型模式。 结构性模式:适配器模式、桥接模式、...

  • 设计模式

    创建性1.原型模式——Prototype2.创建者模式——Builder3.简单工厂模式——Simple Fact...

  • 设计模式-原型模式

    5、原型模式原型模式是指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象,属于创建型模式。创建原型接口...

  • 创建性模式-原型模式

    标签(空格分隔): 原型模式 浅克隆 深克隆 原型模式: 从一个对象再创建另外一个可定制的对象,且不需要知道任何...

  • 06.原型模式(创建型)

    创建型模式-原型模式 一、相关介绍 原型模式定义:使用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象...

  • 原型模式及深浅拷贝详解

    原型模式 原型模式(Prototype模式)是用原型实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象。 ...

  • 创建型模式:原型模式

    个人公众号原文:创建型模式:原型模式 五大创建型模式之五:原型模式。 简介 姓名 :原型模式 英文名 :Proto...

  • 设计模式之原型模式

    设计模式之原型模式 原型模式 属于 创建型模式,提供创建对象的最佳方式。 原型模式 简介 也就是 说 根据一个已有...

  • 创建型模式5-原型模式

    创建型模式5-原型模式 原型模式(prototype) 意图 用原型实例指定创建对象的种类,并且通过拷贝这些原型创...

网友评论

      本文标题:创建性模式-原型模式

      本文链接:https://www.haomeiwen.com/subject/vbjldftx.html