看板java
标 题Re: [问题] setXXX
发信站月光海洋BBS (Wed Jul 19 02:49:30 2006)
转信站ptt!ctu-reader!news.nctu!mobbs
※ [email protected] (加油加油) wrote:
> ※ 引述《oishii (喔帅)》之铭言:
> : 应该是针对封装性来做考量
> : 一些instance variable在encapsulation的考量之下 应设为private
> : 然後透过getXX()与setXXX()的method来做读取与设定
> : 利用这样的方式可以避免一些错误的产生
> : 比如说某一个instance variable必须为正数
> : 在setter的方法内就可以做这样的写入限制
> : 我也是初学者可能没回答到你的问题
> : 因为我搞不大懂constructor跟参数设定的关系为何
> : 一般用new呼叫constructor产生一个instance之後应该就不会再呼叫建构子了
> : 如果你的意思是说 建构子内用setter的方式来做设定
> : 那里由应该就是我上一段讲的那样
> : 还请高手指教
> 不好意思,可能是我没问清楚吧,譬如像google search的api
> GoogleSearch search = new GoogleSearch();
> search.setKey("000000000000000000000000");
> search.setQueryString("Internet standards");
> search.setSafeSearch(true);
> GoogleSearchResult result = search.doSearch();
> 为什麽不乾脆写一个建构子 GoogleSearch(key,query,isSafe)
> 这样不是比较快吗?为什麽还要用setXXX()的方法
这问题很简单啊...
拿key值来说
GoogleSearch这个类别产生後
并不是使用一次就回收的...
Key值会一再改变 假设改变的次数极大(一般来说是很大的...)
那麽利用建构子指定Key值这个动作 将不具任何意义...
能理解吗...囧 (我都不知道自已在说什麽...该睡了...Orz)
--
◣ ███ ███ ☆ Post by Pistachi
◢█ ▉▉█ █▇█ ★ From 220-134-160-26.HINET-IP.hinet.net
◥█◤ ﹉ ﹍ ﹋ 月光海洋BBS 《mobbs.stut.edu.tw》 163.26.220.130