设计模式之原型模式

来源:互联网 发布:金庸小说知乎 编辑:程序博客网 时间:2024/04/29 15:35

            原型模式其实就是从一个对象再创建一个可定制的对象,而且不需要知道创建的细节。具体就是说通过复制或者克隆一个原型对象产生新的对象


           “克隆对象”分为两种:深复制或者浅复制,这两种的主要区别是:在原型中如果有对象的引用,浅复制是将引用复制过来了,也就是浅复制和原型中的对象的引用相同,而深复制是将克隆对象中引用的对象再复制了一份!这个就是深和浅的区别!

package com.butone.wu;/** * 原型类 :原型类要克隆 就要实现Cloneable接口 *  * @author db2admin *  */public class Prototype implements Cloneable {private String name;/** * 浅复制 */@Overrideprotected Object clone() throws CloneNotSupportedException {return (Prototype) super.clone();}public String getName() {return name;}public void setName(String name) {this.name = name;}}

public static void main(String[] args) {// 先创建一个对象原型 一会克隆使用Prototype p = new Prototype();p.setName("张三");try {Prototype cloneP = (Prototype) p.clone();System.out.println("克隆的:" + cloneP.getName());} catch (CloneNotSupportedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}



参考:《大话设计模式》



原创粉丝点击