隨筆 - 3  文章 - 8  trackbacks - 0
          <2007年8月>
          2930311234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          常用鏈接

          留言簿(1)

          隨筆檔案(8)

          文章檔案(1)

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          一、封裝(set / get 方法)
          可以對對象中的某一個屬性進行操作,訪問這些數據對外只提供了這么一個接口。

          如果不提供這些方法,屬性若為 private 就變得無法訪問了。

          如果屬性變為 public,就好比,到銀行去存錢,不是通過柜面進行操作的,而是直接跑到銀行的金庫里面自己去拿錢了,這樣就很不安全,這個例子中,可以把銀行金庫中的錢看作是某一對象的屬性,而柜面的工作人員、出納柜臺就可以看作是 set / get 方法了,也就是讓對外服務提供某些接口,具體里面的操作就隱藏起來了。



          二、工廠方法
          指的是根據不同的情況產生不同的對象,比如:
          public static Dao getDao(String dbmsName) throws UnsupportDatabaseException {
          if( dbmsName.equalsIgnoreCase("SQL Server") ) {
          return new SqlServerDao();
          else if( dbmsName.equalsIgnoreCase("Oracle") ) {
          return new OracleDao();
          else if( dbmsName.equalsIgnoreCase("MySQL") ) {
          return new MySQLDao();
          else {
          throw new UnsupportDatabaseException(dbmsName);
          }
          }


          其中 Dao 是 SqlServerDao、OracleDao、MySQLDao 的接口。

          上面這段代碼就是一個典型的工廠方法,通過傳入的數據庫名稱來確定,并獲得不同的數據庫處理實現。若使用的數據庫并沒有實現,則進行異常處理。
          posted on 2007-08-13 10:03 cccp21 閱讀(264) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 玛纳斯县| 潮州市| 荃湾区| 东辽县| 仪陇县| 阳原县| 大庆市| 若羌县| 乌审旗| 新平| 襄垣县| 宿松县| 清涧县| 济源市| 江永县| 寻乌县| 丹江口市| 三台县| 定安县| 芜湖市| 乾安县| 友谊县| 教育| 周口市| 临桂县| 洛宁县| 三河市| 奉节县| 蕲春县| 达拉特旗| 康乐县| 嘉鱼县| 化隆| 象山县| 会理县| 朝阳县| 肥城市| 新泰市| 双峰县| 松潘县| 保亭|