JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Software Design » Effective Java  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 Re:[Effective Java] 條款 15 : 除非專為繼承而設計並提供文件,否則不要使用繼承 [Re:plutotw]
ingramchen

Web monkey



發文: 479
積分: 12
於 2004-05-26 23:29 user profilesend a private message to usersend email to ingramchenreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
plutotw wrote:
繼承算是 雙刃之劍 . 用的好的話,程式碼簡潔,效率極高 ..
但是該不該用 繼承 , 郤是難以用臨界點隔開 ...
尤其 JAVA 與 C++ 的 protected/default 定義不同,造成 更多問題
對需要封裝的 data 及 method 而言,算是較不好
還好現在的工具, ex: eclipse 可以看到 該 method 是否是繼承/實作 上層的 method
個人的經驗,如果能用繼承,就儘量用繼承實作


eclipse 是可以看到該 method 是否 override 上層的,不過當繼承的結構到了三層以上時,管理上就會開始有點困難 (哪些 method override 最上層?哪些 method override 第二層?改了第一層,是第二層受影響還是第三層受影響?) 我自己的經驗是大多數的class 最多只繼承一次,再多就考慮用 delegation 或是 decorator 的方式來實作。 以前曾經寫過四層的繼承關係,的確,這樣享有最大的 code reuse。但好處也僅止於此,整個 class 階層再也動不了了,override 的關係也是亂的一踏胡塗,maintain 變得很痛苦....


reply to postreply to post
MyBlog | 訂便當管理系統

話題樹型展開
人氣 標題 作者 字數 發文時間
7620 [Effective Java] 條款 15 : 除非專為繼承而設計並提供文件,否則不要使用繼承 metavige 1621 2004-05-26 22:16
6553 Re:[Effective Java] 條款 15 : 除非專為繼承而設計並提供文件,否則不要使用繼承 plutotw 221 2004-05-26 22:37
6635 Re:[Effective Java] 條款 15 : 除非專為繼承而設計並提供文件,否則不要使用繼承 ingramchen 569 2004-05-26 23:29
6659 Re:[Effective Java] 條款 15 : 除非專為繼承而設計並提供文件,否則不要使用繼承 plutotw 699 2004-05-27 00:44
6800 Re:[Effective Java] 條款 15 : 除非專為繼承而設計並提供文件,否則不要使用繼承 Yoshi 1892 2004-05-27 02:47
6556 Re:[Effective Java] 條款 15 : 除非專為繼承而設計並提供文件,否則不要使用繼承 plutotw 1172 2004-05-27 04:59
6449 Re:[Effective Java] 條款 15 : 除非專為繼承而設計並提供文件,否則不要使用繼承 giraffe 207 2004-06-18 11:21
6515 Re:[Effective Java] 條款 15 : 除非專為繼承而設計並提供文件,否則不要使用繼承 ingramchen 1349 2004-06-18 15:03
6323 Re:[Effective Java] 條款 15 : 除非專為繼承而設計並提供文件,否則不要使用繼承 plutotw 648 2004-06-18 17:36
6468 Re:[Effective Java] 條款 15 : 除非專為繼承而設計並提供文件,否則不要使用繼承 ingramchen 443 2004-06-18 19:49
6995 Re:[Effective Java] 條款 15 : 除非專為繼承而設計並提供文件,否則不要使用繼承 plutotw 263 2004-06-18 20:51
» JWorld@TW »  Software Design » Effective Java

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8