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