- 作法(Mechanics)
- 為public值域提供取值/設值函數(shù)(getter/setter).
- 找到這個class以外使用該值域的所有地點.如果客戶只是使用該值域,就把引用動作(reference)替換為對取值函數(shù)(getter)的調(diào)用];如果客戶修改了該值值域,就將此一引用點替換為[對設值函數(shù)(setter)的調(diào)用].
- ==>如果這個值域是個對象,而客戶只不過是調(diào)用該對象的某個函數(shù),那么不論該函數(shù)是否為修改函數(shù)(modifier,會改變對象狀態(tài)),都只能算是使用該值域.只有當客戶為該值域賦值時,才能將其替換為設值函數(shù)(setter).
- 每次修改之后,編譯并測試.
- 將值域的所有用戶修改完畢后,把值域聲明為private.
- 編譯,測試.
|