2004-10-13

"design for inheritance"

"讓使用者透過繼承來使用的 framework" 所造成的心理負擔會比
"用 API 形式被呼叫" 來的大嗎?

需要對 framework 有更深的瞭解嗎?

會污染被繼承者的介面嗎?

有工具可以 check 嗎?

有 n 個 method 可以 override, 便有 2 ^ n 種 override 的組合
其中有幾種組合是對的, 組合是錯的.
除了文件, 沒有語法上的支援來表達原作者希望被 override 的方法.
就像沒有工具檢查呼叫 method 的順序 (open/read/close),
更沒有工具檢查 override 的 method 的組合甚至於內容是否正確.

重題: hashCode() 是否應該長在 java.lang.Object 身上?

No comments: