隨筆 - 40, 文章 - 0, 評論 - 20, 引用 - 0
          數據加載中……

          23種經典的設計模式_Prototype模式(原形模式)

          很多時候,創建對象的時候,只是在某些屬性值上有區別,而大部分都很相似,但是這樣的對象的初始化相對來說比較復雜,而且
          需要耗費較長的時間或資源,這種情況下,我們可以考慮使用Prototype模式。我覺得這種模式實用于這樣的情況:如果該類的用戶對于該
          類的對象是怎么創建的,對類的內部結構這些都不關心的情況,并且該類的創建過程比較費時或資源時,可以考慮使用該模式。下面是該模式的
          一個例子:

          Prototype 類

          package com.moonsoft;

          import java.lang.Cloneable;
          public class Prototype implements Cloneable {
          ?
          ?public String myname;
          ?
          ?Prototype(){
          ??System.out.println("start:"+System.currentTimeMillis());
          ??for( int i=0; i< 9999999; i++){???
          ??}
          ??System.out.println("end:"+System.currentTimeMillis());
          ?}
          ?
          ?public Object clone(){
          ??Object o = null;
          ??try{
          ???o = super.clone();???
          ??}
          ??catch(CloneNotSupportedException ex){
          ???ex.printStackTrace();
          ??}
          ??return o;
          ?}
          ?
          ?public void whoami(){
          ??System.out.println(myname);
          ?}
          }


          測試類

          package com.moonsoft;

          public class Test {
          ?
          ?public static void main(String [] argv){
          ??Prototype? p = new Prototype();
          ??p.whoami();
          ??p.myname = "loucy";
          ??Prototype? p1 = (Prototype)p.clone();
          ??p1.whoami();?
          ??
          ?}
          }

          posted on 2006-04-16 15:21 月亮 閱讀(560) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 收藏| 高碑店市| 阿尔山市| 通道| 包头市| 治多县| 天柱县| 宁化县| 蓬溪县| 普兰店市| 泸西县| 喀什市| 集贤县| 大丰市| 通河县| 山东| 乌兰县| 宁强县| 鹤山市| 萍乡市| 左权县| 施秉县| 宁明县| 双城市| 惠水县| 肇源县| 临高县| 邯郸市| 石渠县| 辛集市| 原阳县| 双辽市| 泸定县| 堆龙德庆县| 西峡县| 连平县| 龙川县| 韶关市| 隆德县| 噶尔县| 黎平县|