1、需要對某個「物件」進行修改時,不要把它整個「人」都丟進去,如果整個人都丟進去了,就喪失了對這個「物件」的控制權。
解決:①可以將物件的某些屬性丟進去,然後返回出來。
②若實在需要將整個物件丟進去,則應該一開始就丟進去,後面就再也沒有對這個物件的操作,所有操作都交給丟過去的那個方法/類。
2、符合規格:例如亮燈與否,是取決於往哪個方向移動,並不是按下哪個鍵(雖然最後結果一樣)。但是如果以後改規格了,各個方向的移動速度不同,就會出問題。
3、考慮擴充性:eg:多個方塊;不同移動速度;亮燈顏色
4、抽出邏輯:eg:移動多少;是否亮燈;亮燈操作
5、抽出邏輯的目的主要是:
①不把控制的「物件」直接丟進去,也就是不交出控制權;
②將邏輯抽出成方法後,該方法的重複利用性就變強了。這樣的話出了邏輯問題(比如燈的顏色變化):找方法;出了物件控制問題(燈的是否開啟):找控制燈的「物件」。
6、不要輕易將屬性/方法做成靜態。但是就此題來說,「moveobject」類的邊界條件屬性,作為靜態的話是合適的。因為不管new了多少個物件,邊界都是同乙個,當邊界改變時,也是改變所有物件的邊界屬性。
C語言 第四課
img 一 浮點型別的除法運算得出乙個浮點數結果,而整數除法運算則產生乙個整數結果。在c語言中,整數除法結果中如果有小數,則小數部分會被丟棄,這個過程被稱為 color green 截尾 color 二 取模運算子 用於整數運算。不要對浮點數使用取模運算子,那將是無效的。三 符號 被稱為賦值運算子,...
c 第四課習題
順序 選擇 迴圈 迴圈 for for 死迴圈 break跳出迴圈體 continue結束本次迴圈,繼續下次迴圈 列印20遍你好 for int a 1 a 20 a 輸入乙個整數,計算從1加到這個數的和 請輸入乙個正整數 int a int.parse console.readline int s...
鋼琴第四課
因為此前每天都練琴,曲譜也都記住了,所以,週六,臨時被老師喊去時,非常自信。學到了很多知識。1.連貫性方面 連貫性要注意 其實,連貫性在於對曲目的熟練程度,手指的靈活程度,還有不同音之間的連貫跳躍 音要連續 不同音,要連續連線在一起 這個音落下,上個音才起來 2.節奏方面 四分音符要短快,彈到了,立...