1. 類的訪問權限僅有兩個選擇:包訪問權限或者public。如果不希望其他任何人對該類擁有訪問權限,可以把所有的構造器都指定為private,從而組織任何人創建該類的對象,但是有一個例外,就是在該類的static成員內可以創建。如
          class Soup {
          private Soup() {}
          // (1) Allow creation via static method:
          public static Soup makeSoup() {
          return new Soup();
          }
          // (2) Create a static object and return a reference
          // upon request.(The "Singleton" pattern):
          private static Soup ps1 = new Soup();
          public static Soup access() {
          return ps1;
          }
          public void f() {}
          }

          如果把類構造器都指定為private,別人要使用這個類的話,上面的例子給出了兩種方法:
          1)創建一個static方法,它創建一個新的Soup對象并返回該對象的引用。如果想要在返回引用之前在Soup上做一些額外的工作,或者如果想要記錄到底創建了多少Soup對象(可能要限制其數量),這種做法將會是大有裨益的。
          2)用到了設計模式。這種特定的模式被稱為singleton,這是因為始終只能創建它的一個對象ps1。


          posts - 403, comments - 310, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          2.16 Java notes - Hiding the Implementation

          Posted on 2007-04-22 20:24 ZelluX 閱讀(239) 評論(0)  編輯  收藏 所屬分類: OOP
          2007-02-16 17:59:42
          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 平果县| 宝兴县| 定西市| 合阳县| 大埔区| 柘城县| 普洱| 台州市| 黄龙县| 沛县| 招远市| 灵山县| 台东县| 东港市| 曲阜市| 贵溪市| 德州市| 红河县| 河曲县| 广德县| 闽清县| 桦甸市| 石门县| 铁力市| 滦南县| 平乐县| 永顺县| 临西县| 荔波县| 莆田市| 卓资县| 三亚市| 海兴县| 南丹县| 石嘴山市| 含山县| 巧家县| 隆化县| 东港市| 闽清县| 泰安市|