zoukankan      html  css  js  c++  java
  • 原型设计模式

    原型设计模式即:用一个已经穿件的实例为原型,通过复制该原型来穿件一个和原型相同或相似的对象。

    1.模式的结构

    原型模式包含以下部分

    • 抽象原型类:规定了具体原型对象必须实现的接口
    • 具体原型类:实现抽象原型类clone()方法,它是可以被复制的对象
    • 访问类:使用具体类中的clone方法来复制创建新对象

    2.模式的实现

    原型的克隆分为浅克隆和深克隆,java中的Object类提供了浅克隆clone()方法,具体原型类只要实现Cloneable接口就可以实现对象的浅克隆,代码如下:

    package protoType;
    // 具体原型类
    class Realizetype implements Cloneable{
    	Realizetype() {
    		System.out.println("具体原型创建成功");
    	}
    	public Object clone() throws CloneNotSupportedException {
    		System.out.println("具体原型复制成功");
    		return (Realizetype) super.clone(); 
    	}
    }
    
    public class protoTypeTest {
    	public static void main(String args[]) throws CloneNotSupportedException {
    		Realizetype obj1 = new Realizetype();
    		Realizetype obj2 = (Realizetype) obj1.clone();
    		System.out.println("obj1==obj2?"+(obj1==obj2));
    	}
    }
    
  • 相关阅读:
    JLOI2012:时间流逝
    bzoj 5217: [Lydsy2017省队十连测]航海舰队
    bzoj 4894: 天赋
    bzoj 4870: [Shoi2017]组合数问题
    bzoj 1558: [JSOI2009]等差数列
    bzoj 4945: [Noi2017]游戏
    bzoj 2142: 礼物
    bzoj 5248: [2018多省省队联测]一双木棋
    51nod2383
    codeforces24D
  • 原文地址:https://www.cnblogs.com/xxyxt/p/11310809.html
Copyright © 2011-2022 走看看