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

          常用鏈接

          留言簿(1)

          隨筆檔案(8)

          文章檔案(1)

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

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

          如果不提供這些方法,屬性若為 private 就變得無(wú)法訪問(wèn)了。

          如果屬性變?yōu)?public,就好比,到銀行去存錢(qián),不是通過(guò)柜面進(jìn)行操作的,而是直接跑到銀行的金庫(kù)里面自己去拿錢(qián)了,這樣就很不安全,這個(gè)例子中,可以把銀行金庫(kù)中的錢(qián)看作是某一對(duì)象的屬性,而柜面的工作人員、出納柜臺(tái)就可以看作是 set / get 方法了,也就是讓對(duì)外服務(wù)提供某些接口,具體里面的操作就隱藏起來(lái)了。



          二、工廠方法
          指的是根據(jù)不同的情況產(chǎn)生不同的對(duì)象,比如:
          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 的接口。

          上面這段代碼就是一個(gè)典型的工廠方法,通過(guò)傳入的數(shù)據(jù)庫(kù)名稱來(lái)確定,并獲得不同的數(shù)據(jù)庫(kù)處理實(shí)現(xiàn)。若使用的數(shù)據(jù)庫(kù)并沒(méi)有實(shí)現(xiàn),則進(jìn)行異常處理。
          posted on 2007-08-13 10:03 cccp21 閱讀(264) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 佛山市| 城步| 台东市| 金寨县| 深圳市| 中山市| 阳泉市| 巢湖市| 普宁市| 宜宾市| 汕尾市| 金沙县| 巫溪县| 文山县| 盐津县| 常宁市| 垦利县| 中牟县| 阿拉善右旗| 衡南县| 黄梅县| 三亚市| 东台市| 娄烦县| 甘泉县| 大悟县| 馆陶县| 揭阳市| 娱乐| 赫章县| 黄骅市| 茶陵县| 阿拉善左旗| 邢台县| 嘉定区| 盈江县| 探索| 乌兰县| 河北省| 宁都县| 亳州市|