我的Blog我做主^_^

          走向一條通往JAVA的不歸路...

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            64 隨筆 :: 68 文章 :: 77 評論 :: 0 Trackbacks

          一、創建模式

           

          創建模式分為類的創建模式和對象的創建模式兩種:

          1、  類的創建模式:類的創建模式使用繼承關系,把類的創建延遲到子類,從而封裝了客戶端將得到哪些具體類的信息,并且隱藏了這些類的實例是如何被創建和放在一起的。

          2、  對象的創建模式:而對象的創建模式則把對象的創建過程動態地委派給另一個對象,從而動態地決定客戶端將得到哪些具體類的實例,以及這些類的實例是如何被創建和組合在一起的。

           

          A、 簡單工廠模式Simple Factory<Static Factory Method靜態工廠方法>

           

                 簡單工廠模式就是由一個工廠類根據傳入的參量決定創建出哪一種產品類的實例。

                 實例:      

                 商店-----------à銷貨員[工廠] -----------à水果[抽象產品]<蘋果[產品一]、梨[產品二]、草莓[產品三]>

                 用戶告訴銷貨員水果的名稱,銷貨員通過水果名稱找到相應的水果

                 interface水果 (){

                        價格;

                        重量;

                        產地;

          }

          Class蘋果() implements 水果{

                        蘋果價格;

                        蘋果重量;

                        蘋果產地;

                        蘋果品種;

                 蘋果采摘日期;

          }

          Class () implements 水果{

                 梨價格;

                 梨重量;

                 梨產地;

                 梨品種;

                 含糖量;

                 梨采摘日期;

          }

          Class 草莓() implements 水果{

                 草莓價格;

                 草莓重量;

                 草莓品種;

                 ……

                 草莓采摘日期;

          }

          Class shop<銷貨員>(){

          //創建靜態工廠

          Public static 水果 factory(String 水果名稱) throws 水果未存在異常{

                               If(“蘋果”.equals(水果名稱)){

                                      Return new 蘋果();

          }else If(“”.equals(水果名稱)){

                        Return new ();

          }else If(“草莓”.equals(水果名稱)){

                        Return 草莓();

          }else{

                        Throw 水果未存在異常;

          }

          }    

          }

           

          獲取水果:

           

          Try{

                 蘋果 A = Shop<銷貨員>.factory(“蘋果”);

                 A = Shop<銷貨員>.factory(“”);

          }catch(Exception e){

                 System.out.println(“水果未存在異常……”);

          }

           

          結構圖:

           

          工廠<銷貨員>

          具體產品<蘋果、梨>

          抽象產品<水果>

           

          工廠<銷貨員>

          具體產品<蘋果、梨>

          抽象產品<水果>

          學習中......

           

           

           

           



          posted on 2007-04-05 00:32 java_蟈蟈 閱讀(245) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 正宁县| 谷城县| 九台市| 陇西县| 颍上县| 临朐县| 松原市| 廊坊市| 牙克石市| 阳西县| 兴安盟| 轮台县| 罗平县| 揭东县| 临海市| 无锡市| 石屏县| 阿鲁科尔沁旗| 奈曼旗| 巩义市| 通海县| 和平区| 中山市| 龙陵县| 阿瓦提县| 青浦区| 宜兴市| 垦利县| 商河县| 岳阳县| 汝阳县| 昆山市| 德兴市| 安福县| 闽侯县| 安平县| 什邡市| 榆树市| 河曲县| 高州市| 盐城市|