设计模式-原型设计模式

一、原型设计模式的定义与特点

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

应用场景:

  • 对象之间相同或相似,即只是个别的几个属性不同的时候。
  • 对象的创建过程比较麻烦,但复制比较简单的时候。

模式的结构

原型模式包含以下主要角色。

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

二、原型设计模式的实现

实现原理:主要用到了java Object类中的clone()方法

代码实现:

    

package test;

/**
 * 原型设计模式Demo-孙悟空看我72变
 */
public class SunWuKong implements Cloneable {
    public SunWuKong() {
        //1.从石头里蹦出来
        //2.取金箍棒
        //3.大闹天宫
        //。。。。。。。
        //总之,再创建一个孙悟空时太麻烦了。不如直接复制一个
    }

    /**
     * 于是孙悟空采用72变:实现java.lang包下的Cloneable接口,但实际实现调用的是Object.clone方法
     */
    public Object clone() throws CloneNotSupportedException {

       return super.clone();
    }

    public static void main(String[] args) throws CloneNotSupportedException {
        SunWuKong sunWuKong = new SunWuKong();
        SunWuKong sixEar = (SunWuKong) sunWuKong.clone();
        System.out.println(sunWuKong==sixEar);  //false  
    }

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章