設計模式-原型設計模式

一、原型設計模式的定義與特點

        原型設計模式:用一個已經創建的實例作爲原型,通過複製該原型對象來創建一個和原型相同或相似的新對象。

應用場景:

  • 對象之間相同或相似,即只是個別的幾個屬性不同的時候。
  • 對象的創建過程比較麻煩,但複製比較簡單的時候。

模式的結構

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

  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  
    }

}

 

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