隨筆 - 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)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 石嘴山市| 监利县| 东港市| 安义县| 富民县| 池州市| 重庆市| 玉树县| 灯塔市| 巴彦县| 富民县| 宜昌市| 牡丹江市| 平度市| 突泉县| 西青区| 科技| 铜川市| 冷水江市| 兴文县| 周口市| 平江县| 星子县| 汉阴县| 湛江市| 松桃| 浦县| 车致| 济阳县| 荔波县| 神农架林区| 徐州市| 石城县| 沙坪坝区| 房产| 霍州市| 双城市| 东乌珠穆沁旗| 鄂尔多斯市| 宁乡县| 秭归县|