Re: [問題] setXXX

看板java作者時間19年前 (2006/07/19 03:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串9/22 (看更多)
※ 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
文章代碼(AID): #14lI_l00 (java)
文章代碼(AID): #14lI_l00 (java)