Re: [問題] setXXX
※ sioo.bbs@ptt.cc (加油加油) 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
討論串 (同標題文章)
完整討論串 (本文為第 9 之 22 篇):