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

» JWorld@TW » Java SE 討論區  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友   
reply to topicthreaded modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 多型的一個難題...
hahawawa





發文: 50
積分: 0
於 2005-01-12 01:24 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
小弟我看的書不多,但是對於多型是相當熱衷的,只是經常會遇到這樣一個問題...

比如有一個interface叫Animal,我用兩個class(Cat 和 Dog)去implements它,這樣做應該合理,因為貓和夠本來就是動物的一種,而且有很多相似的地方,比如可以running() , walking() , 有四條腿 , 可當寵物 , 是溫血動物等等...但是,貓會爬樹狗不會,狗會看門貓不會,結果我用的方法就是將這兩個行為全部寫在Animal上,然後在Dog把爬樹的行為放空實作,在Cat把看門的行為放空實作...這樣有一個麻煩,比如外部程式在用的時候: Animal ani = new Cat(); 然後可以呼叫看門的行為--ani.guard(),這樣就造成奇怪的錯亂了(貓也可以看門???)...

愚昧之言,還望個位指教...


reply to postreply to post
作者 Re:多型的一個難題... [Re:hahawawa]
Lan2





發文: 283
積分: -1
於 2005-01-12 08:27 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
簡單的作法 : implement多個interface

reply to postreply to post
作者 Re:多型的一個難題... [Re:hahawawa]
UndeadJ

UX & UI Design



發文: 384
積分: 3
於 2005-01-12 10:46 user profilesend a private message to usersend email to UndeadJreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我認為你把interface弄錯了。基本上,interface應該是去訂定他們(dog、cat)"共有"的行為(動作),然後implement這個interface的class再各別去override這個行為方法。

還不了解的話,請全文撿索"多型",有很多相關文章,謝謝


reply to postreply to post
我們是懷抱各自的夢想,買了車票的乘客,不過就像列車一定會有終點,人生有時會碰到必須換車的時候...

我們站在名為「今天」的車站,在名為「昨天」的列車下車,轉搭為「明天」的列車

不過,若沒及時搭上的話....
作者 Re:多型的一個難題... [Re:hahawawa]
hahawawa





發文: 50
積分: 0
於 2005-01-12 12:49 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
我明白...现在的问题是它们共同具有很多共同行为可在INTERFACE定订,偏偏有时候就會有某个行为刚好不同...不过看了LAN2的建议,多重IMPLEMENTS确也是一个好办法...Wink

reply to postreply to post
» JWorld@TW »  Java SE 討論區

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

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8