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:ingramchen]
plutotw

井底蛙



發文: 624
積分: 3
於 2004-05-27 00:44 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
ingramchen wrote:
eclipse 是可以看到該 method 是否 override 上層的,不過當繼承的結構到了三層以上時,管理上就會開始有點困難 (哪些 method override 最上層?哪些 method override 第二層?改了第一層,是第二層受影響還是第三層受影響?) 我自己的經驗是大多數的class 最多只繼承一次,再多就考慮用 delegation 或是 decorator 的方式來實作。 以前曾經寫過四層的繼承關係,的確,這樣享有最大的 code reuse。但好處也僅止於此,整個 class 階層再也動不了了,override 的關係也是亂的一踏胡塗,maintain 變得很痛苦....

eclipse 是單一 class 可見有取代上層而已, 但是可以另由繼承表看,每一單層都可以獨立檢視
繼承 層度夠深時,確是這個樣子 ...
但是繼承 應該 是視需要的來做 ...
而不是為繼承而繼承 , 繼承夠深時,就應考慮 是否 要將 譬如
第四層直接用繼承第一層來寫
或第二三層合併
基本上繼承再多層,都不會有困難才是 , 因為 java 的 super. 僅能使用上一層
無法跨層 , C++ 則不同,可以指定跳層 call method (不過算自由吧)
用 java 寫繼承時,應儘量只注重在 上一層 的狀態及 method ,
不應有跨層的想法 , 除非像是 paint() ;
這樣依序下來,狀況會比非繼承寫法來簡單


reply to postreply to post
話題樹型展開
人氣 標題 作者 字數 發文時間
7620 [Effective Java] 條款 15 : 除非專為繼承而設計並提供文件,否則不要使用繼承 metavige 1621 2004-05-26 22:16
6553 Re:[Effective Java] 條款 15 : 除非專為繼承而設計並提供文件,否則不要使用繼承 plutotw 221 2004-05-26 22:37
6634 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