一、封装(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 阅读(256)
评论(0) 编辑 收藏