作者sioo (加油加油)
看板java
标题Re: [问题] setXXX
时间Tue Jul 18 22:41:41 2006
※ 引述《oishii (喔帅)》之铭言:
: ※ 引述《sioo (加油加油)》之铭言:
: : 请问一下,我发现在很多的API里面,
: : 在建立物件时,都不直接使用建构子来建立物件,
: : 一些参数都要透过setXXX()的方法来给值,
: : 请问使用这种方法有什麽好处吗?
: : 用建构子不是更方便吗 谢谢...
: 应该是针对封装性来做考量
: 一些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()的方法
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.228.200.146