? 在類的設計中,對成員變量的封裝是一個比較煩人的問題.什么時候應該提供讀寫的接口,什么時候應該聲明為public,這樣的問題有時候改幾次也都不是很滿意的.
? 將對變量的讀寫操作封裝起來以接口的形式提供,是有了一定的接口一致性.如果以后要在讀寫變量的操作內加入其它的操作,那么原有的代碼就可以不加任何修改,只改這樣的接口就行了.也就是對外部封閉了細節,使編程簡單一點.
但我也覺得不能用"一刀切"的方式將所有的成員變量都加以這樣的封裝,這樣無疑會使代碼增長(而且可能還有我所不知道的缺點).
總的來說,
? 對于要對外部提供應用的變量,最好以接口的形式提供.這樣可以有比較一致的接口.
? 而如果只是內部使用的話,且只是用于保存變量的值的話,直接聲明為public會好一些.而若在內部也是相對地為其它類提供服務的話,也還是要聲明為接口要好一些.
這里所說的內部和外部,只是相對來說的,并不只是針對某個類或程序而言.具體來說要根據代碼的聚合程序來看.
最主要的原則還是要對具體的情況還要加以區別對待,根據實際情況不同而施以不同的應用.
===========
這樣的問題主要還是靠編碼經驗的,如果有經驗的話,可能憑感覺就可以隨時決定的.
對于這個問題我也只是有這一點的初步見解(我幾乎沒有什么實際的編碼經驗),也不知道合不合適,希望有牛人可以加以指導.