[請益] class member 是否該當 method 參數?

看板Programming作者 (滿滿的)時間11年前 (2014/04/14 23:57), 11年前編輯推噓3(3010)
留言13則, 2人參與, 最新討論串1/1
小弟在寫物件程式的時候 一直有一個問題 一個 class 的 method 如果需要用到 class member 該直接在 method 內存取 member 還是 將 member 當作參數 傳給 method 呢? 我的想法是 class 的 method 直接用 member 的話 感覺似乎比較有內聚力(?) 好像包成 class 也比較有理由 但想到要寫 test 如果把 member 當作參數 傳給 mehtod 這樣測試不同的資料時好像比較好寫 想請教板上各位先進 怎樣的寫法比較恰當呢? 以及理由是..? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.143.43 ※ 文章網址: http://www.ptt.cc/bbs/Programming/M.1397491034.A.0C9.html

04/15 00:12, , 1F
member function當然是直接用member啊
04/15 00:12, 1F

04/15 00:12, , 2F
但是在做成member function之前
04/15 00:12, 2F

04/15 00:13, , 3F
你需要先考慮將function設計成
04/15 00:13, 3F

04/15 00:13, , 4F
non-member non-friend
04/15 00:13, 4F

04/15 00:13, , 5F
Effective C++ 條款23
04/15 00:13, 5F
感謝指點 可能因為都寫 C# JAVA 一直想著要放在 class 看來我還太淺了 0.0

04/15 01:19, , 6F
寫 test 這方面你要思考為什麼需要外部指定
04/15 01:19, 6F

04/15 01:20, , 7F
一個物件的內部狀態 -- 或許那其實是個參數
04/15 01:20, 7F

04/15 01:20, , 8F
那就應該要有適當的 setter 把參數設定好
04/15 01:20, 8F

04/15 01:21, , 9F
或許那是某種狀況下的內部狀態, 那你就得要
04/15 01:21, 9F

04/15 01:21, , 10F
設法在 test 裡還原出這個狀態
04/15 01:21, 10F

04/15 01:21, , 11F
更有可能這個 method 其實是 private
04/15 01:21, 11F

04/15 01:22, , 12F
這也跟上面一樣你得還原出這種狀況出來
04/15 01:22, 12F
我好像忽略了"狀態"這件事情了 謝謝指點

04/15 13:27, , 13F
原來這篇不是在C++板...orz
04/15 13:27, 13F
原本考慮要在 OOAD 發問的 0.0 ※ 編輯: aiueoH (36.231.143.43), 04/16/2014 01:57:54
文章代碼(AID): #1JJ0LQ39 (Programming)
文章代碼(AID): #1JJ0LQ39 (Programming)