Posted on 2008-12-28 10:40
bluoy 閱讀(191)
評論(0) 編輯 收藏
雖然java沒有提供函數指針的操作,而是必須通過對象來曲線救國。
不過延伸一下這個思路,其實也未必不是件好事。從某種意義上來說,整個java系統,或者對象系統,其實就是不計其數的鉤子組成的系統。因為,參數傳遞的過程中完全依賴著對象,一種行為和數據的結合體。這里,關鍵詞是參數傳遞和對象的行為,當然離不開多態。
改變既有代碼的行為步驟:
1. 派生參數類得到新的子類。
2. 在子類中覆寫(overwrite)父類既有方法。
3. 將子類的實例作為參數傳遞。
這樣,就得到了改變父類行為的目的。
對于既有框架自作主張的封裝,阻礙自己的目的的時候,這個做法往往能獨辟蹊徑。