→ akasan:雖然看到內文知道你在說什麼 但是個人覺得有誤導嫌疑 09/15 00:51
→ akasan:很像在描述函數定義在.h 會被自動inline 09/15 00:52
→ yoco315:大哉問啦~ 09/15 00:52
→ akasan:但事實上你是在說 C++ Class member function 的東東 09/15 00:53
→ akasan:我發現沒去點網頁就先推文是錯的選擇... 09/15 00:54
→ akasan:等待 t 大大的降臨吧 09/15 00:55
→ akasan:另外private public 惡搞的話有可能會造成 ABI 不合 09/15 00:55
→ QQ29:抱歉 我也是想到什麼趕快問 怕我忘記.... 09/15 00:56
→ QQ29:a大意思是 我私自把 private改成public對於lib會造成影響? 09/15 00:56
→ QQ29:至於ABI是啥我在去找找...會太少 09/15 00:57
→ akasan:你'可能'會因為惡搞權限導致 mem layout 不一樣 09/15 00:57
→ akasan:導致物件在 lib 跟你程式端在認知上有落差而造成嚴重後果 09/15 00:58
→ loveme00835:為每個member都寫getter/setter本來就是爛的設計, 表 09/15 00:59
→ QQ29:有說明在講這塊嗎 完全不懂private和public layout差異... 09/15 00:59
→ loveme00835:示你沒有達成「抽象化」的工作, 而只做到封裝而已, 就 09/15 00:59
→ QQ29:直覺覺得 可以直接改= = l大那什麼是好的設計阿@@? 09/15 01:00
→ loveme00835:像vector一樣, 難道還可以回傳指標給你delete嗎? 09/15 01:00
→ QQ29:l大如果不用寫get set那有好方法呢? 使用者用的到我就覺得 09/15 01:08
→ QQ29:該寫get set耶 還有比較好的設計嗎? 09/15 01:08
推 loveme00835:假如我現在有一個Employee類, 裡面只有double salary; 09/15 01:22
→ loveme00835:假如我需要的功能只有把員工調薪而已, 提供 09/15 01:26
→ loveme00835:bool Increment( double ); 比較好? 還是要使用者用 09/15 01:27
→ loveme00835:setSalary( getSalary() + x ); 自己兜出來比較好呢? 09/15 01:28
→ loveme00835:類別設計需要考慮使用者未來會怎麼應用, 你給他最基本 09/15 01:29
→ loveme00835:的東西, 他可能不會用, 也不想知道怎麼用, 你所做的就 09/15 01:30
→ loveme00835:是要提供更高一層的抽象化來方便使用者, 這樣code也比 09/15 01:30
→ loveme00835:較清楚, refactoring 一書中雖有談到Self Encapsulate 09/15 01:32
→ loveme00835:Field 連使用自己的成員時也動一些手腳(像是lazy ini- 09/15 01:33
→ loveme00835:tialization), 不過除非必要, 太簡單的setter/getter 09/15 01:34
→ loveme00835:都提供, 其實還不如權限全部改成public 09/15 01:35
→ nvidia:沒有要把所有的member都給setter getter吧 :) 09/15 05:39
→ nvidia:沒有必要 09/15 05:39
→ nvidia:除非是有必要XD 09/15 05:39
→ nvidia:太多member代表抽象化沒做好 09/15 05:40
→ QQ29:請教一下什麼叫做抽象沒做好阿? 改成繼承架構 09/15 18:27
→ QQ29:data member總數應該還是一樣阿 get set還是一樣多吧? 09/15 18:27
→ QQ29:只是有些在 老爸有些在兒子類別 想了解什麼叫抽象沒做好 09/15 18:28
→ QQ29:可以請 顯卡大 舉個例嗎@@ 09/15 18:28
推 alongalone:我覺得樓下L大說的imageViewer說的不錯 09/15 18:31
→ loveme00835:每個屬性都提供setter/getter表示你對這個類別所持有 09/15 20:31
→ loveme00835:態度是「資料叢集」, 但其實物件的「行為」才是你設計 09/15 20:34
→ loveme00835:類別最主要的目的 09/15 20:34