Re: [問題] setXXX

看板java作者時間19年前 (2006/07/19 02:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串8/22 (看更多)
set跟get有對物件下命令這層意義在 並不單單只是存取物件這麼簡單 而是要讓往後的使用者 容易了解某個方法到底在做些什麼 雖然沒有硬性規定 但為了延展性著想 遵守命名規則還是比較好的 ※ cplusplus.bbs@ptt.cc (大口小口吃炒飯) wrote: > ※ 引述《sioo (加油加油)》之銘言: > : 請問一下,我發現在很多的API裡面, > : 在建立物件時,都不直接使用建構子來建立物件, > : 一些參數都要透過setXXX()的方法來給值, > : 請問使用這種方法有什麼好處嗎? > : 用建構子不是更方便嗎 謝謝... > 如各位所說的,各有好壞吧 > 另外我想如果用constructor可以對必須給定的參數作強制輸入 > 畢竟參數不完全就不能呼叫constructor了,這樣在某些時候也可以省去一點麻煩 > 如果採用setter可能參數還不完全就呼叫某些動作必須多出很多檢查動作吧 > 另外一個情況是,如果class內的某些資訊必須在輸入完全參數後才計算得出來, > 用constructor一次得到需要的參數應該也是比較方便的 > setter/getter的好處我想其他大大也講了, > 另外,會用setter/getter也可能是因為要拿去當javabean用吧~ > ---------------------------------------------- > 不過我覺得用 void XXX(Type)/ Type XXX() 這樣好像也不錯? > 像是 > Rectangle r=new Rectangle(); > r.height(10); //set height to 10 > r.width(5); //set width to 5 > .... > r.height(); //return 10 > r.width(); //return 5 > 可以少打字 set/get XD > 不過好像違反的一般java內method以動詞開頭的命名方式 -- ███ ███ Post by Pistachi ◢█ ▉▉█ █▇█ From 220-134-160-26.HINET-IP.hinet.net ◥█◤ ﹉ ﹍ ﹋ 月光海洋BBS 《mobbs.stut.edu.tw》 163.26.220.130
文章代碼(AID): #14lIaZ00 (java)
文章代碼(AID): #14lIaZ00 (java)