一、封裝(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 閱讀(261)
評論(0) 編輯 收藏