Re: [問題] 想請問interface的具體意義

看板java作者 (愚人)時間19年前 (2007/01/24 07:39), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串23/29 (看更多)
※ 引述《tinlans.bbs@whshs.cs.nccu.edu.tw (汀)》之銘言: [...] : 那就是 Liskov Substitution Principle; : 因為蠻多 OO 設計者容易陷入程式與現實世界性質對應的迷思, : 將 is-almost-a 的關係當成 is-a 的關係來描述, : 常聽到的一個例子就是, : 在數學上正方形是一種矩形, : 所以就會有人做出一個 Rectangle 的 base class 出來, : 並讓 Square 繼承它, : 但是 Square 的 setWidth() 和 setHeight() 都會同時改變寬和高, : 而 Rectangle 的這兩個 method 並不會如此, : 當 programmer 以多型方式使用 Rectangle 家族的任何 objects 時, : 會因此發生 semantic inconsistent 的現象。 : 這類問題的嚴重性在於「程式碼不是只有一個人在維護」時, [...] 感謝分享啊,原來這總現象的 keywords 是 semantic inconsistent Liskov Substitution Principle (知識與 keyword 是可遇不可求的 XD) 不過既然 Square 是 Rectangle 的 special case 這樣的關係應該以裝飾者的角度來看待嚕 正確地覆寫父類別並能通過 w/h 相等的 unit test PS. 當然 >"< 我用說的確實比真的在寫時簡單 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.59.94.117
文章代碼(AID): #15jfox9u (java)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 23 之 29 篇):
文章代碼(AID): #15jfox9u (java)