tag:blogger.com,1999:blog-1298974142445162186.post3977004849933900607..comments2024-03-19T15:58:12.198+08:00Comments on 搞笑談軟工: 重新整理Template Method PatternTeddy Chenhttp://www.blogger.com/profile/02066842119056439711noreply@blogger.comBlogger1125tag:blogger.com,1999:blog-1298974142445162186.post-75214928816970774502013-08-22T22:30:47.796+08:002013-08-22T22:30:47.796+08:00"透過繼承達到程式碼重用原本就不是一件值得鼓勵的事情" -> 這句話要看我..."透過繼承達到程式碼重用原本就不是一件值得鼓勵的事情" -> 這句話要看我們所使用的語言特性而定。:-)<br /><br />對於動態型別語言而言(smalltalk, ruby, python...),繼承帶來的兩件事情:<br />1. 規格繼承<br />2. 實作繼承<br /><br />第一項並沒有太大意義,因為訊息傳遞本就是執行期才確認物件是否可接收,所以使用繼承時往往就是需要繼承某些實作。但由於繼承過度,容易有複雜的網絡關係,所以有的語言限定單一繼承(smalltalk),有的採用受限的多重繼承 - mix-in(ruby),有的允許多重繼承,並假設programmer足夠成熟(python)。<br /><br />當然,靜態型別語言強調不要濫用繼承來獲得實作是對的,因為在這種執行環境中,繼承是為了多型的手段。marshttps://www.blogger.com/profile/03702328929933479309noreply@blogger.com